L'errore T_PAAMAYIM_NEKUDOTAYIM di PHP
L'errore T_PAAMAYIM_NEKUDOTAYIM (chiamato anche T_DOUBLE_COLON) è un errore dovuto a un utilizzo non corretto dell'operatore
Il primo errore potrebbe avvenire quando si prova a richiamare una variabile o un metodo non statici utilizzando l'operatore
Un altro errore potrebbe avvenire quando si prova a richiamare una variabile statica senza utilizzare il segno del
Nelle versioni precedenti a PHP 5.3 non è possibile utilizzare una variabile per il nome della classe quando si richiama un elemento statico.
Se si utilizza una versione precedente a PHP 5.3 e si necessita di utilizzare una variabile come nome della classe, si possono utilizzare le funzioni
::
. Ecco di seguito alcuni esempi di uso scorretto di questo operatore.Il primo errore potrebbe avvenire quando si prova a richiamare una variabile o un metodo non statici utilizzando l'operatore
::
.Un altro errore potrebbe avvenire quando si prova a richiamare una variabile statica senza utilizzare il segno del
$
.Nelle versioni precedenti a PHP 5.3 non è possibile utilizzare una variabile per il nome della classe quando si richiama un elemento statico.
$classe = 'Classe'; $classe::metodoStatico(); // Errore nelle versioni precedenti a PHP 5.3
Se si utilizza una versione precedente a PHP 5.3 e si necessita di utilizzare una variabile come nome della classe, si possono utilizzare le funzioni
call_user_func
o call_user_func_array
.$classe = 'Classe'; $res = $classe::metodoStatico(); // PHP 5.3 o superiore $res = call_user_func(array($classe, 'metodoStatico')); // Versione inferiore di PHP 5.3 $res = $classe::metodoStatico($param); // PHP 5.3 o superiore $res = call_user_func(array($classe, 'metodoStatico'), $param); // Versione inferiore di PHP 5.3
"Paamayim nekudotayim" non sono due parole inventate o prese dalla lingua vulcaniana, ma sono le parole ebraiche per indicare i doppi due punti. Questo nome è stato introdotto dai programmatori israeliani che hanno scritto lo Zend Engine 0.5 utilizzato in PHP 3 ed è stato poi mantenuto nelle versioni successive.
Guida scritta da Mattia il 16/12/2011.