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. Se utilizzato all'interno di un'inclusione, viene restituito il nome del file incluso. Da PHP 4.0.2, __FILE__ contiene sempre un percorso assoluto con link simbolici risolti, mentre nelle versioni esso conteneva un percorso relativo in alcune circostanze.
__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. (Aggiunta in PHP 5.3.0.)
__FUNCTION__ Il nome della funzione. (Aggiunta in PHP 4.3.0) Dal PHP 5 questa costante restituisce il nome della funzione come è stato dichiarato (case-sensitive). In PHP 4 il suo valore è sempre in minuscolo.
__CLASS__ Il nome della classe. (Aggiunta in PHP 4.3.0) Da PHP 5 questa costante restituisce il nome della classe come è stato dichiarato (case-sensitive). In PHP 4 il suo valore è sempre in minuscolo. 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. (Aggiunta in PHP 5.4.0) Da PHP 5.4 questa costante restituisce il trait come è stato dichiarato (case-sensitive). Il nome del trait include il namespace in cui è stato dichiarato (es. Foo\Bar).
__METHOD__ Il nome del metodo della classe. (Aggiunta in PHP 5.0.0) Il nome del metodo è restituito come è stato dichiarato (case-sensitive).
__NAMESPACE__ Il nome del namespace corrente (case-sensitive). Questa costante è definita in fase di compilazione (Aggiunta in PHP 5.3.0).

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


Costanti
PHP Manual