back to top

Le costanti in PHP

Nella lezione precedente abbiamo visto cosa sono e come si utilizzano le variabili in PHP. In questa lezione vedremo un altro "tipo di contenitore" di dati: le costanti.

Una costante, come lascia intuire il nome, è una porzione di memoria il cui contenuto non cambia durante la fase di elaborazione del nostro programma in PHP. A differenza della variabile, che una volta definita può cambiare valore, la costante resta sempre uguale a se stessa ed ogni "tentativo" di cambiarne il valore produrrà un errore.

Per definire una costante in PHP si utilizza la funzione define() in questo modo:

define('NOME_COSTANTE','valore della costante');

Valgono per le costanti le stesse osservazioni fatte per le variabili:

  • Se vengono assegnati valori di tipo stringa questi dovranno essere racchiusi in apici o doppi apici;
  • Se vengono assegnati valori numerici non servono gli apici.

Qualche esempio:

define('NOME_COSTANTE_N1','valore della costante');
define("NOME_COSTANTE_N2","valore della costante");
define('NOME_COSTANTE_N3',123);
define('NOME_COSTANTE_N4',123.456);

Per consuetudine, solitamente, i nomi delle costanti vengono scritti in maiuscolo (ma nulla vieta di usare il minuscolo). Si noti che i nomi delle costanti, esattamente come accade nelle variabili, sono case-sensitive, quindi si faccia attenzione all’utilizzo di maiuscole e minuscole nel nome della costante.

E’ anche possibile definire costanti case-insensitive, in tal caso sarà sufficiente specificare ‘true’ come terzo paramentro nella funzione define():

// definisco una costante case insensitive
define('NOME_COSTANTE','valore della costante',true);

echo NOME_COSTANTE; // corretto
echo nome_costante; // corretto
echo Nome_Costante; // corretto

Come abbiamo visto nell’esempio qui sopra la costante viene utilizzata nel codice PHP semplicemente mediante il proprio nome senza, cioè, il simbolo del dollaro che è tipico delle variabili.

Altra differenza con le variabili è che le costanti sono sempre accessibili all’interno delle funzioni del programma (mentre le variabili lo sono solo se importate mediante global).

Pubblicitร 
Massimiliano Bossi
Massimiliano Bossi
Stregato dalla rete sin dai tempi delle BBS e dei modem a 2.400 baud, ho avuto la fortuna di poter trasformare la mia passione in un lavoro (nonostante una Laurea in Giurisprudenza). Adoro scrivere codice e mi occupo quotidianamente di comunicazione, design e nuovi media digitali. Orgogliosamente "nerd" sono il fondatore di MRW.it (per il quale ho scritto centinaia di articoli) e di una nota Web-Agency (dove seguo in prima persona progetti digitali per numerosi clienti sia in Italia che all'estero).
Articolo precedente
Articolo successivo