Uma dúvida que muitos tem sobre classes é como usar os operadores :: e -> e qual
a diferença entre elas.
O operador -> é usado para acessar as funções e propriedades de classes que já
foram instanciadas, por exemplo:
class $foo {
function bar() {
echo "Função bar()";
}
}
$classe = new $foo;
$classe -> bar();
primeiro, instanciamos a classe $foo na variável $classe e com o operador -> acessamos
a função bar().
Mas nós poderíamos acessar a função bar() da classe $foo sem instanciá-la, assim:
class $foo {
function bar() {
echo "Função bar()";
}
}
$foo::bar();
isso faz a mesma coisa que o primeiro código, porém sem a necessidade de instanciar a
classe $foo.
As vezes isso é útil para classes que não necessitam realmente de instancialização,
como as classes do PHP-GTK.
[]'s