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:
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().