Corsi on-line

Gestire l’errore T_PAAMAYIM_NEKUDOTAYIM in PHP

Vi è mai capitato di visualizzare un errore del genere durante l’esecuzione di un’applicazione scritta in PHP?

Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM...

Vediamo innanzitutto di cosa si tratta: questo notifica di errore viene inviata da PHP nel caso in cui venga effettuato un utilizzo scorretto dell’operatore “::”, i doppi punti (senza virgolette) detti appunto PAAMAYIM_NEKUDOTAYIM; un esempio di utilizzo sbagliato potrebbe essere quello del suo impiego a carico di un metodo non statico o il caso di uno scope errato per un oggetto.

Come gestire questo tipo di errore? Poniamo per esempio di aver definito una classe come la seguente:

class MiaClasse
{
  public static function MetodoStatico()
 {
 return null;
 }
public function MetodoNonstatico()
 {
 return null;
 }
}

Una chiamata del genere:

<?php $MiaClasse::MetodoNonstatico(); ?>

Porterà alla notifica di un errore, perché l’operatore è stato utilizzato su un metodo non statico, non avremo invece alcune errore nel caso di una chiamata come la seguente:

<?php $MiaClasse::MetodoStatico(); ?>

Questo perché l’operatore viene utilizzato su un metodo statico.

Post correlati
  • realtebo

    che dire se invece stiamo cercando di usare una costante da una istanza di una classe? Per esempio: $xls::RED

I più letti del mese
Tematiche