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 ::. 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 il 16/12/2011.

Le ultime guide della categoria PHP:

comments powered by Disqus