Usando os operadores -> e :: para classes

Publicado por Rodrigo Caldeira de Paula Lima em 27/03/2003

[ Hits: 4.411 ]

 


Usando os operadores -> e :: para classes



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

Outras dicas deste autor

PHP na linha de comando

Leitura recomendada

Dica de livro para quem quer aprender PHP

Aviso de erro em arquivo de configuração do PHP

Executando comandos do sistema com PHP

PHP 7.2 no Fedora 27

Xampp - Maneira fácil de se instalar um servidor LAMP (Apache, MySQL e PHP)

  

Comentários
[1] Comentário enviado por GrupoFimdeprova em 13/08/2004 - 08:41h

Tem um Grave Erro de sintaxe nesta Dica.

o caractere '$' serve para iniciar variáveis, e não o Nome da Classe.

Não funcionar se alguém tentar

[2] Comentário enviado por jitto em 06/10/2004 - 08:53h

Para que serve o instanciamento?



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts