Manual do PHP
Anterior | Capítulo 19. Classes e Objetos (PHP 5) | Próxima

# Operador de Resolução de Escopo (::)

O Operador de Resolução de Escopo, também chamado de Paamayim Nekudotayim, ou em termos mais simples, dois pontos duplo, é um token que permite acesso a métodos ou membros estáticos, constantes, e sobrecarregados de uma classe.

Quando referenciando esses itens de fora da definição da classe, você usa o nome da classe.

Paamayim Nekudotayim pode parecer, de inicio, uma escolha estranha para um dois pontos duplo. No entanto, na hora de escrever o Engine da Zend 0.5 (que provia o PHP3), foi o que a equipe da Zend decidiu. Realmente significa dois pontos duplo - em Hebreu!

Exemplo 19-10. :: de fora da definição da classe
`<?php class MinhaClasse { const VALOR_CONST = 'Um valor constante'; } echo MinhaClasse::VALOR_CONST; ?>`

Duas palavras-chaves especiais self e parent são usadas para acessar membros ou métodos de dentro da definição da classe.

Exemplo 19-11. :: de dentro da definição da classe
`<?php class OutraClasse extends MinhaClasse { public static $meu_estatico = 'variável estática'; public static function doisPontosDuplo() { echo parent::VALOR_CONST . "\n"; echo self::$meu_estatico . "\n"; } } OutraClasse::doisPontosDuplo(); ?>`

Quando uma subclasse sobrecarrega a definição de um método do pai, php não chamará o método pai. Fica a cargo da subclasse chamar o método pai ou não. Isso também aplica a definições de métodos Construtores and Destrutores, Sobrecarregados e Mágicos também.

Exemplo 19-12. Chamando um método pai
`<?php class MinhaClasse { protected function minhaFuncao() { echo "MinhaClasse::minhaFuncao()\n"; } } class OutraClasse extends MinhaClasse { /* Sobrecarrega a definição do pai */ public function minhaFuncao() { /* Mas ainda chama a função pai */ parent::minhaFuncao(); echo "OutraClasse::minhaFuncao()\n"; } } $classe = new OutraClasse(); $classe->minhaFuncao(); ?>`

Anterior | Principal | Próxima
Visibilidade | Acima | Palavra-Chave 'static'