Jump to content


Photo

Metodos Estaticos


  • Faça o login para participar
3 replies to this topic

#1 Sh4d0wn

Sh4d0wn

    12 Horas

  • Usuários
  • 265 posts
  • Sexo:Masculino
  • Interesses:muitos.

Posted 02/12/2004, 16:23

Como e por que usar-los. Alguem poderia me responder .... ? :blink:


#2 duardo

duardo

    Novato no fórum

  • Usuários
  • 24 posts
  • Sexo:Não informado
  • Localidade:Sampa
  • Interesses:Linux - PHP - Web Design - Photoshop

Posted 02/12/2004, 16:35

Quando vc precisar de um objeto estático, ou seja, vc nâo precisa ter mais do que uma instância do mesmo objeto.Um exemplo é uma query num banco de dados...por exemplo.:

Vc faz uma classe estática somente pra fazer query no banco, certo. Pra que vc precisa instanciar uma classe desse tipo? Vc nunca vai precisar de mais de uma instância desse mesmo objeto.Porque ele sempre vai fazer a mesma coisa independente do que tiver acontecendo no seu programa.Ele só serve para aquela coisa.

Não sei se fui claro.
Mas é isso ai.


if($ver_dados){
$nome = "Eduardo Oliva Barruzi";
$profissao = "Web Developer";
$idade = "19";
$publicar = true
}
if($publicar)
echo "$nome<br>$profissao<br>$idade";


#3 Sh4d0wn

Sh4d0wn

    12 Horas

  • Usuários
  • 265 posts
  • Sexo:Masculino
  • Interesses:muitos.

Posted 02/12/2004, 16:44

Quando vc precisar de um objeto estático, ou seja, vc nâo precisa ter mais do que uma instância do mesmo objeto.Um exemplo é uma query num banco de dados...por exemplo.:

Vc faz uma classe estática somente pra fazer query no banco, certo. Pra que vc precisa instanciar uma classe desse tipo? Vc nunca vai precisar de mais de uma instância desse mesmo objeto.Porque ele sempre vai fazer a mesma coisa independente do que tiver acontecendo no seu programa.Ele só serve para aquela coisa.

Não sei se fui claro.
Mas é isso ai.

hum.....

mas como faco para 'criar' um metodo/classe estatico ?


#4 dokkalfr

dokkalfr

    Ich bin der Geist der stets verneint

  • Usuários
  • 203 posts
  • Sexo:Não informado
  • Localidade:Svartheim
  • Interesses:Programação e sexo

Posted 02/12/2004, 22:10

Primeiro, isso só é válido para PHP5!

Um exemplo bem simples de método estático é quando tu não precisa acesso à variáveis internas da classe. Por exemplo, se eu fizer uma classe que formata strings:
PHP
<?php

class StringFormat{
 static
public function toUpper ($str){
 return
strtoupper($str);
 }
}

$string = "lalala";
echo
StringFormat::toUpper($string); // LALALA

?>


O exemplo é besta mas mostra bem que o método não é independente de variaveis ou metodos da classe!!

Um modelo mais avançado de programação que utiliza métodos e propriedades estáticos é o Singleton:
PHP
<?php

class Singleton {
 static
private $instance = false;

 static
public function getInstance()
{
if (
self::$instance) return self::$instance;
else {
self::$instance = new AlgumaClasse;
return
self::$instance;
}
// ......
}

$Obj = Singleton::getInstance();

?>


Dá pra notar que sempre vai-se estar trabalhando com a mesma instancia da classe!!

No manual do PHP e no site da Zend tem mais material sobre!
Ainda com dúvida? Os melhores programadores PHP estão aqui
=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Blog PHPClube
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Bookmarks




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq