Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Alguem poderia me explicar melhor o significado do :: no php, ou uma apostila...
Isso mesmo que o leozitho falou!
Exemplo
class thiago {
public static function hello() {
echo "hello world";
}
}
// nesse caso você poderia executar essa função da seguinte maneira
thiago::hello();
// normalmente você faria
$thiago = new thiago();
$thiago->hello();
Salvo eu me engano, o metódo statico não aloca um na memória uma referência a ele e a instância guarda na memória uma referência a ela, dependendo do que for fazer , com o statico você ganha desempenho da aplicação.e o self:: ?
nao esquecer q dentro de outra class tem q estender essa class
>
e o self:: ?
Thiago, suponhamos que temos uma classe com 2 metódos
O self:: seria a mesma coisa de usar o $this->.
Serve para você recuperar dados staticos dentro da classe, se for pegar de uma classe extendida usa-se o parent::
class thiago {
public static function hello() {
self::hello2();
}
private static function hello2() {
echo "hello world";
}
}Faltou mencionar o uso de constantes de classe, que dispensam uma instância da mesma para serem acessadas.
Vale salientar também que, na invocação de métodos estáticos, além de self:: que aponta o contexto para a própria classe, pode-se se usar parent::, quando há herança (class Foo extends Bar).
E também que você não pode chamar estaticamente ( :: ) um método não-estático, senão receberá um Parser error do tipo T_PAAMAYIM_NEKUDOTAYIM:
PAAMAYIM – duplicado
NEKUDOTAYIM – dois pontos
Vai saber o que na cabeça dos desenvolvedores para nomear esse token em Hebraico... <_< :huh: :lol:
o metodo na precisa ser obrigatoriamente ser estatico para ser chamado assim...
Serve para chamar um método estático de uma classe, sem ter a necessidade de instanciar previamente o objeto.