Una costante è un identificatore (nome) per un valore. Come si può intuire, tale valore non può cambiare
durante l’esecuzione dello script (fanno eccezione le costanti magiche, che, in realtà, non sono costanti). Una
costante è "case-sensitive" per default. È convenzione comune che i nomi di costante siano sempre
maiuscoli.
Come le superglobals, costante è sempre globale. Si può accedere alle costanti da qualsiasi punto dello script
senza tenere conto della visibilità.
È possibile definire una variabile utilizzando la funzione define(). Una volta definita, a una costante non
è possibile cambiare il valore o eliminarla.
Le costanti possono contenere solo dati di tipo scalare (boolean, integer, float e string).
Per ottenere il valore di una costante è sufficiente specificarne il nome. A differenza delle variabili, non è
necessario anteporre il simbolo $ al nome di una costante. Si può anche utilizzare la funzione constant(),
per leggere il valore di una costante, nel caso in cui se ne ottenga dinamicamente il nome. Si utilizzi
get_defined_constants() per ottenere una lista delle costanti definite.
Se si utilizza il nome di una costante che non è definita, PHP assume che detto valore sia il nome della
costante stessa, come se si fosse inserito il testo nel nome . Quando ciò accade PHP segnala il problema con
un E_NOTICE. Per sapere se una costante è definita, si può utilizzare la funzione defined().
Di seguito sono riportate le principali differenze rispetto le variabili:
Le costanti non iniziano con il segno del dollaro ($);
Le costanti possono essere definite solo con la funzione define() e non tramite assegnazione;
Le costanti possono essere definite e utilizzate ovunque senza seguire le regole di visibilità;
Una volta impostate, le costanti non possono essere ridefinite né annullate;
Le costanti possono essere solo valori scalari;
<?php
define("COSTANTE", "Ciao mondo.");
echo COSTANTE; // stampa "Ciao mondo."
echo Costante; // stampa "Costante" e genera una notice.
?>
Costanti predefinite
Il PHP mette a disposizione ad ogni script diverse costanti predefinite. Alcune di queste, tuttavia, sono create
dai vari moduli, e, pertanto, saranno disponibili solo quando questi moduli sono caricati, sia dinamicamente
sia staticamente.
Esistono quattro costanti magiche il cui valore cambia in base al contesto in cui sono utilizzate. Ad esempio,
il valore di _LINE_ dipende da quale linea si trova nel momento in cui è richiamata. Queste costanti speciali sono ‘case-insensitive’ e sono:
| Nome | Descrizione |
| _LINE_ | Il numero di linea corrente. |
| _FILE_ | Il nome e percorso assoluto del file. |
| _FUNCTION_ | Nome della funzione. (Aggiunta nel PHP 4.3.0.) |
| _CLASS_ | Nome della classe. (Aggiunta nel PHP 4.3.0.) |
| _METHOD_ | Nome del metodo della classe (Aggiunta nel PHP 5.0.0.) |
Popularity: 4% [?]
Vuoi essere sempre aggiornato??? Iscriviti ai feed o invia un trackback
Nessun commento, scrivi tu il primo!
Articoli correlati