Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Le costanti

Cosa sono e come si utilizzano le costanti in PHP
Cosa sono e come si utilizzano le costanti in PHP
Link copiato negli appunti

Le costanti sono dei contenitori immutabili per dei valori semplici (stringhe e numeri), che possono essere accedute attraverso il loro nome senza che questi sia preceduto dal classico simbolo del dollaro ($).

Le costanti in PHP possono essere definite manualmente oppure essere impostate automaticamente da PHP in base al contesto ed alle librerie caricate. Le costanti vengono impostate manualmente usando l'istruzione define():

define('MIA_COSTANTE', 1);
define('SECONDA_COSTANTE', prova);

È convenzione specificare dei nomi composti solamente da caratteri maiuscoli o underscore. Le costanti possono essere accedute in questo modo:

echo MIA_COSTANTE;
echo "<br />;
echo SECONDA_COSTANTE;

Per controllare che una costante sia definita effettivamente è necessario utilizzare la funzione defined, che accetta come argomento la stringa che identifica il nome della costante da controllare.

/*
Il codice che segue avrà un comportamento differente da quello che ci aspettiamo.
NON_DEFINITA viene trasformata in una stringa NON_DEFINITA, viene restituito
un notice da PHP e l'espressione viene valutata vera, eseguendo quindi il codice
tra graffe che invece vorremmo saltare.
*/

If(NON_DEFINITA)
{
// ....
}

// Questo è corretto
if(defined('NON_DEFINITA'))
{
// ...
}

PHP definisce automaticamente moltissime costanti, molte delle quali specifiche per le librerie importate. Le più importanti, indipendenti dalle librerie, e che spesso risultano utili sono le seguenti:

  • __FILE__: il path del file in cui ci troviamo. In caso il file sia incluso da un altro in esecuzione __FILE__ avrà comunque il nome del file incluso;
  • __CLASS__: il nome della classe in cui ci troviamo attualmente;
  • __FUNCTION__: il nome della funzione in esecuzione;
  • __METHOD__: il nome del metodo in esecuzione;
  • __LINE__: il numero di linea corrente;

Ti consigliamo anche