Question

Quelqu'un at-il un T_PAAMAYIM_NEKUDOTAYIM?

Était-ce utile?

La solution

Il est l'opérateur double côlon :: (voir liste des jetons d'analyseur ).

Autres conseils

Google fonctionne à merveille.

Il est hébreu pour "double deux points".

Il est un nom pour l'opérateur :: en PHP. Cela signifie littéralement « double deux points ». Pour une raison quelconque, ils l'ont appelé en hébreu. Vérifiez votre syntaxe du code, et mettre un :: le cas échéant: -)

De Wikipedia :

  

En PHP, l'opérateur de résolution de portée est également appelée Paamayim   Nekudotayim (Hebrew: פעמיים נקודתיים), ce qui signifie « double colon » en   Hébreu.

     

Le nom « Paamayim Nekudotayim » a été introduit dans le   Israël développé Zend Engine 0.5 utilisé en PHP 3. Bien qu'il ait été   source de confusion pour de nombreux développeurs qui ne parlent pas l'hébreu, il est encore   étant utilisé dans PHP 5, comme dans cet exemple un message d'erreur:

     

$ php -r :: Parse error: syntax error, unexpected   T_PAAMAYIM_NEKUDOTAYIM

     

PHP 5.4, les messages d'erreur concernant l'opérateur de résolution de portée   comprennent encore ce nom, mais ont clarifié sa signification un peu:

     

$ php -r :: Parse error: syntax error, unexpected '::'   (T_PAAMAYIM_NEKUDOTAYIM)

De la documentation officielle de PHP :

  

La résolution de portée de l'opérateur (également appelé Paamayim Nekudotayim) ou   termes plus simples, le double du côlon, est un jeton qui permet d'accéder à   propriétés statiques, constantes, et surchargées ou des méthodes d'une classe.

     

Lorsque vous faites référence à ces éléments en dehors de la définition de la classe, l'utilisation   le nom de la classe.

     

PHP 5.3.0, il est possible de faire référence à la classe en utilisant une   variable. La valeur de la variable ne peut pas être un mot-clé (par exemple l'auto, parent   et statique).

     

Paamayim Nekudotayim serait, tout d'abord, sembler un choix étrange pour   nommer un double-virgule. Cependant, lors de l'écriture du Zend Engine 0.5   (PHP 3), c'est ce que l'équipe Zend a décidé de l'appeler. Il   en fait ne signifie double deux points - en hébreu

Cela vient également lorsque vous appliquez une constante en PHP à la fonction vide ():

if (!empty(SOME_CONSTANT)) {

}

Ce fut mon cas. Je l'ai résolu en utilisant ceci:

$string = SOME_CONSTANT;
if (!empty($string)) {

}

Pour moi cela est arrivé dans une fonction de classe.

En PHP 5.3 et au-dessus $this::$defaults a bien fonctionné; quand je troqué le code dans un serveur pour une raison quelconque avait un numéro de version inférieure, il a lancé cette erreur.

La solution, dans mon cas, était d'utiliser le mot-clé self au lieu de $this:

self::$defaults fonctionne très bien.

Cela peut se produire sur foreachs lorsque vous utilisez:

foreach( $array as $key = $value )

au lieu de

foreach( $array as $key => $value )

Comme indiqué ici, vous avez besoin en général 5.3. Cependant, la façon dont je me suis cassé toutes les pages était en supprimant cette ligne de notre fichier .htaccess.

# Use PHP 5.3
AddHandler application/x-httpd-php53 .php

est peut-être utile à une certaine façon.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top