Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial
  • Lezione 11 di 67
  • livello intermedio
Indice lezioni

Le costanti in PHP

Scopriamo cosa sono le costanti di PHP, qual'è la sintassi prevista per la loro definizione, quali sono le differenze con le variabili e quali costanti predefinite vengono offerte nativamente dal linguaggio.
Scopriamo cosa sono le costanti di PHP, qual'è la sintassi prevista per la loro definizione, quali sono le differenze con le variabili e quali costanti predefinite vengono offerte nativamente dal linguaggio.
Link copiato negli appunti

In PHP, come in altri linguaggi per la programmazione o lo sviluppo, una costante è definibile come una porzione di memoria destinata a contenere un dato caratterizzato dal fatto di essere immutabile durante l'esecuzione di uno script. Sulla base di quanto appena detto le costanti possono essere quindi considerate come l'esatto opposto di una variabile, inoltre, sempre a differenza delle variabili, le costanti divengono automaticamente globali per l'intero script nel quale vengono definite.

Una costante può essere definita in PHP attraverso l'impiego del costrutto define che accetta due parametri in ingresso, questi ultimi sono: il nome della costante e il valore associato ad essa in fase di digitazione del codice.

A livello sintattico le costanti in PHP vengono dichiarate attraverso dei nomi che iniziano con una lettera o con l'underscore, per esse non è quindi previsto l'impiego del carattere iniziale $ come avviene invece per le variabili. Per convenzione i nomi delle costanti vengono scritti interamente in maiuscolo.

Il valore contenuto da una costante può essere soltanto di tipo scalare o null. I tipi di dato scalare sono: interi, float, stringhe e booleani. Nella release 7 di PHP, non ancora rilasciata in versione definitiva nel momento in cui viene scritto questo articolo, si potranno utilizzare anche gli array. Vedi le novità principali di PHP 7.

Analizziamo ora alcuni esempi pratici di definizione delle costanti:

define('COSTANTE', 'stringa');
define('POST_PER_PAGINA', 10);
define('TEMPLATE_EMAIL', 'template.html');

Per accedere al valore contenuto dalla costante è sufficiente utilizzare il suo nome all'interno del codice, come evidenziato dagli esempi seguenti:

echo COSTANTE;  //stamperà "stringa" in output
echo "Numero di posta per pagina: " . POST_PER_PAGINA;

Per verificare che una costante sia stata effettivamente definita, si può utilizzare la funzione nativa di PHP chiamata defined() che acetta in ingresso il nome della costante come argomento:

echo defined('COSTANTE');  //stamperà "1" in quanto la costante "COSTANTE" esiste
echo defined('COSTANTE_NON_ESISTENTE'); //non stamperà nulla

Per recuperare tutte le costanti utilizzate all'interno dell'esecuzione di uno script si ha la possibilità di utilizzare invece la funzione denominata get_defined_constants() tramite una sintassi come quella proposta nell'esempio seguente:

var_dump(get_defined_constants(true));

Le costanti predefinite

Il linguaggio PHP, oltre a consentire la definizione di nuove costanti durante la digitazione dei sorgenti, contiene anche alcune costanti predefinite che potrebbero rivelarsi utili in circostanze specifiche:

Costante Descrizione
__FILE__ Contiene il percorso (path) del file su cui ci troviamo.
__DIR__ Contiene il percorso della directory in cui è contenuto il file corrente.
__FUNCTION__ Contiene il nome della funzione che stiamo utilizzando.
__LINE__ Contiene il numero di riga corrente.
__CLASS__ Contiene il nome della classe corrente.
__METHOD__ Contiene il nome del metodo corrente.
__NAMESPACE__ Contiene il nome del namespace corrente.
__TRAIT__ Contiene il nome del trait corrente.

Ti consigliamo anche