5 Oct

PHP: O que é ‘T_PAAMAYIM_NEKUDOTAYIM’?

Fabio Mazzarino

Doses Diárias, Segurança - -

D’oh

Programando em PHP recebi uma mensagem deveras enigmática:

Parser error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM in /var/www/virtual/mecca.lib/htdocs/includes/DBConn.inc.php on line 25

E agora? Que porcaria de erro é este?

Sem entender muito fui verificar o código:

if (DBError::isError($self::$_instance))
    throw new Exception('Cannot connect to database: ' .
        self::$instance->getMessage());

Descobri que ao invés de $self::$_instance eu deveria usar self::$_instance. Problema resolvido. Em parte. Ainda preciso descobrir o que quer dizer T_PAAMAYIM_NEKUDOTAYIM.

Em uma pesquisa no Google fui descobri um fórum discutindo o erro. Só então fui descobrir. O erro está em hebreu, e quer dizer o seguinte:

  • PAAMAYIM - duplicado
  • NEKUDOTAYIM - dois pontos

Vá saber…

Tags: , ,

Comentários

6 Comentários to “PHP: O que é ‘T_PAAMAYIM_NEKUDOTAYIM’?”
Fabio via Rec6:
October 5th, 2007 às 12:33 pm

PHP: O que é “T_PAAMAYIM_NEKUDOTAYI”…

Programando em PHP recebi uma mensagem deveras enigmática. Saiba o que quer dizer “T_PAAMAYIM_NEKUDOTAYI” no blog DosesDiárias…


Marcio:
October 17th, 2007 às 10:02 pm

Vai saber de onde tiram essas mensagens!!!! Só para saber em qual forúm vc achou a tradução disso? Posso precisar de algo parecido um dia….


Anderson:
January 11th, 2008 às 2:11 pm

Eu li em algum lugar que isso ocorre pq o php é baseado no Zend Engine. É um erro do Zend, e não especificamente do php, e o zend seria o responsável por tal mensagem.


Arno:
March 11th, 2008 às 11:18 pm

T_PAAMAYIM_NEKUDOTAYIM significa dois pontos, ou seja “::” acesso a um atributo estatico numa classe.


Leandro:
May 12th, 2008 às 9:03 am

Puts!
e aí??
qual a solução? recebi o mesmo erro ao tentar acessar uma função declarada como public static function insert( AssinanteVO $objVo )

assim $assinanteDAO::insert($assinante);

me deu este erro
Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM in C:\wamp\www


Fabio Mazzarino:
May 16th, 2008 às 10:42 am

Leandro:

Vc tem que fazer assim:

assinanteDAO::insert($assinante)

Se for um método estático da classe. Ou

$assinanteDAO->insert($assinante) se for um objeto chamando um método.


Deixe Seu Comentário

Pesquisar


Publicidade