Costanti
PHP Manual

Costanti magiche

PHP fornisce un grande numero di costanti predefinite per qualsiasi script che viene eseguito. Molte di queste costanti, comunque, sono create da varie estensioni, e saranno presenti solo quando queste estensioni sono disponibili, sia perchè vengono caricate dinamicamente e sia perchè sono state compilati in PHP.

Ci sono otto costanti magiche che cambiano in base a dove vengono utilizzate. Per esempio, il valore di __LINE__ dipende dalla linea che sta utilizzando nel tuo script. Queste costanti speciali sono case-insensitive e sono le seguenti:

Alcune costanti "magiche" di PHP
Nome Descrizione
__LINE__ Il numero della riga corrente del file.
__FILE__ Il percorso completo e il nome del file con i link simbolici risolti. Se utilizzato all'interno di un'inclusione, viene restituito il nome del file incluso.
__DIR__ La cartella del file. Se utilizzato all'interno di un'inclusione, viene restituita la cartella del file incluso. Questo è equivalente a dirname(__FILE__). Il nome della cartella non ha slash a meno che non sia la directory root.
__FUNCTION__ Il nome della funzione.
__CLASS__ Il nome della classe. Il nome della classe include il namespace in cui è stata dichiarata (es. Foo\Bar). Notare che da PHP 5.4 __CLASS__ funziona anche nei traits. Quando usata in un metodo trait, __CLASS__ è il nome della classe in cui il trait è usato.
__TRAIT__ Il nome del trait. Il nome del trait include il namespace in cui è stato dichiarato (es. Foo\Bar).
__METHOD__ Il nome del metodo della classe.
__NAMESPACE__ Il nome del namespace corrente.

Vedere anche get_class(), get_object_vars(), file_exists() e function_exists().

Log delle modifiche

Versione Descrizione
5.4.0 Aggiunta la costante __TRAIT__
5.3.0 Aggiunte le costanti __DIR__ e __NAMESPACE__
5.0.0 Aggiunta la costante __METHOD__
5.0.0 Prima di questa versione i valori di alcune costanti magiche erano sempre minuscoli. Ora tutti sono case-sensitive (contengono i nomi come essi sono stati dichiarati).
4.3.0 Aggiunte le costanti __FUNCTION__ e __CLASS__
4.0.2 __FILE__ contiene sempre un percorso assoluto con link simbolici risolti laddove nelle precedenti versioni essa conteneva percorsi relativi in alcune circostanze


Costanti
PHP Manual