Alguém tem um T_PAAMAYIM_NEKUDOTAYIM
?
php
syntax-error
runtime-error
Peter Turner
fonte
fonte
u
. Deveria serT_PAAMAYIM_NEKUDOTAYIM
. (PAAMAYIM
= "duas vezes",NEKUDOTAYIM
=:
= "םודותיים")Respostas:
É o operador de dois pontos
::
(consulte a lista de tokens do analisador ).fonte
var_dump(empty(TRUE))
foreach($cats as cat
o único caractere aceitável após acat
instrução for sintaticamente válida, for a::
, pois isso permitirá que você especifique uma propriedade estática de alguma classe chamadacat
. Por exemplo, se acat
classe tem um membro estático público chamado$mouse
, entãoforeach($cats as cat::$mouse)
é perfeitamente válidophp
, mas uma instrução com outra coisa que não seja::
a apóscat
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".
fonte
É 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 :-)fonte
Da Wikipedia :
Da documentação oficial do PHP :
fonte
Isso também ocorre quando você aplica uma constante no PHP à função empty ():
Esse foi o meu caso. Eu resolvi usando isso:
fonte
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 .fonte
Isso pode acontecer no foreachs ao usar:
ao invés de
fonte
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.fonte
$this
que aconteceu com você ?