Alguém tem um T_PAAMAYIM_NEKUDOTAYIM
?
u
. Deveria ser T_PAAMAYIM_NEKUDOTAYIM
. ( PAAMAYIM
= "duas vezes", NEKUDOTAYIM
= :
= "םודותיים")
Alguém tem um T_PAAMAYIM_NEKUDOTAYIM
?
u
. Deveria ser T_PAAMAYIM_NEKUDOTAYIM
. ( PAAMAYIM
= "duas vezes", NEKUDOTAYIM
= :
= "םודותיים")
Respostas:
É o operador de dois pontos ::
(consulte a lista de tokens do analisador ).
var_dump(empty(TRUE))
foreach($cats as cat
o único caractere aceitável após a cat
instrução for sintaticamente válida, for a ::
, pois isso permitirá que você especifique uma propriedade estática de alguma classe chamada cat
. Por exemplo, se a cat
classe tem um membro estático público chamado $mouse
, então foreach($cats as cat::$mouse)
é perfeitamente válido php
, mas uma instrução com outra coisa que não seja ::
a após cat
seria um erro de sintaxe. Se $mouse
não fosse uma propriedade declarada, cat
você receberia um erro fatal, mas ainda não um erro de sintaxe.
Google faz maravilhas.
É hebraico para "cólon duplo".
É um nome para o ::
operador em PHP. Literalmente significa "dois pontos duplos". Por alguma razão, eles o nomearam em hebraico. Verifique sua sintaxe de código e coloque um ::
onde apropriado :-)
Da Wikipedia :
No PHP, o operador de resolução de escopo também é chamado Paamayim Nekudotayim (hebraico: פעמיים נקודתיים), que significa "dois pontos duplos" em hebraico.
O nome "Paamayim Nekudotayim" foi introduzido no Zend Engine 0.5 desenvolvido por Israel, usado no PHP 3. Embora tenha sido confuso para muitos desenvolvedores que não falam hebraico, ele ainda está sendo usado no PHP 5, como nesta mensagem de erro de amostra :
$ php -r :: Erro de análise: erro de sintaxe, inesperado T_PAAMAYIM_NEKUDOTAYIM
No PHP 5.4, as mensagens de erro relativas ao operador de resolução do escopo ainda incluem esse nome, mas esclareceram um pouco o seu significado:
$ php -r :: Erro de análise: erro de sintaxe, '::' inesperado (T_PAAMAYIM_NEKUDOTAYIM)
Da documentação oficial do PHP :
O Operador de resolução de escopo (também chamado Paamayim Nekudotayim) ou, em termos mais simples, dois pontos duplos, é um token que permite o acesso a propriedades ou métodos estáticos, constantes e substituídos de uma classe.
Ao referenciar esses itens de fora da definição de classe, use o nome da classe.
A partir do PHP 5.3.0, é possível referenciar a classe usando uma variável. O valor da variável não pode ser uma palavra-chave (por exemplo, auto, pai e estática).
Paamayim Nekudotayim pareceria, a princípio, uma escolha estranha para nomear dois pontos duplos. No entanto, enquanto escrevia o Zend Engine 0.5 (que usa o PHP 3), foi assim que a equipe do Zend decidiu chamá-lo. Na verdade, significa dois pontos - em hebraico!
Isso também ocorre quando você aplica uma constante no PHP à função empty ():
if (!empty(SOME_CONSTANT)) {
}
Esse foi o meu caso. Eu resolvi usando isso:
$string = SOME_CONSTANT;
if (!empty($string)) {
}
Eu sei hebraico muito bem, então, para esclarecer o nome "Paamayim Nekudotayim" para você, o significado parafraseado é "cólon duplo", mas traduzido literalmente:
::
indica "duas vezes, dois pontos" ou mais conhecido como Operador de resolução de escopo .Para mim, isso aconteceu dentro de uma função de classe.
No PHP 5.3 e acima, $this::$defaults
funcionou bem; quando troquei o código em um servidor que, por qualquer motivo, tivesse um número de versão inferior, gerava esse erro.
A solução, no meu caso, foi usar a palavra-chave em self
vez de $this
:
self::$defaults
funciona muito bem.
$this
que aconteceu com você ?