PHP - Tipi di costanti

Una costante è un nome o un identificatore per un valore semplice. Un valore costante non può cambiare durante l'esecuzione dello script. Per impostazione predefinita, una costante distingue tra maiuscole e minuscole. Per convenzione, gli identificatori di costanti sono sempre maiuscoli. Un nome di costante inizia con una lettera o un trattino basso, seguito da un numero qualsiasi di lettere, numeri o trattini bassi. Se hai definito una costante, non può mai essere modificata o indefinita.

Per definire una costante devi usare la funzione define () e per recuperare il valore di una costante devi semplicemente specificarne il nome. A differenza delle variabili, non è necessario avere una costante con $. È inoltre possibile utilizzare la funzione constant () per leggere il valore di una costante se si desidera ottenere dinamicamente il nome della costante.

funzione costante ()

Come indicato dal nome, questa funzione restituirà il valore della costante.

Ciò è utile quando si desidera recuperare il valore di una costante, ma non si conosce il suo nome, ovvero è memorizzato in una variabile o restituito da una funzione.

costante () esempio

<?php
   define("MINSIZE", 50);
   
   echo MINSIZE;
   echo constant("MINSIZE"); // same thing as the previous line
?>

Solo i dati scalari (booleano, intero, float e stringa) possono essere contenuti nelle costanti.

Le differenze tra costanti e variabili sono

  • Non è necessario scrivere un segno di dollaro ($) prima di una costante, dove come in Variabile si deve scrivere un segno di dollaro.

  • Le costanti non possono essere definite mediante un semplice assegnamento, possono essere definite solo utilizzando la funzione define ().

  • Le costanti possono essere definite e accessibili ovunque senza riguardo alle regole di scoping delle variabili.

  • Una volta che le costanti sono state impostate, non possono essere ridefinite o indefinite.

Nomi di costanti validi e non validi

// Valid constant names
define("ONE",     "first thing");
define("TWO2",    "second thing");
define("THREE_3", "third thing");
define("__THREE__", "third value");

// Invalid constant names
define("2TWO",    "second thing");

Costanti PHP Magic

PHP fornisce un gran numero di costanti predefinite a qualsiasi script eseguito.

Ci sono cinque costanti magiche che cambiano a seconda di dove vengono utilizzate. Ad esempio, il valore di __LINE__ dipende dalla riga su cui viene utilizzato nello script. Queste costanti speciali non fanno distinzione tra maiuscole e minuscole e sono le seguenti:

Di seguito vengono fornite alcune costanti PHP "magiche":

Suor n Nome e descrizione
1

__LINE__

Il numero di riga corrente del file.

2

__FILE__

Il percorso completo e il nome del file. Se utilizzato all'interno di un include, viene restituito il nome del file incluso. A partire da PHP 4.0.2,__FILE__ contiene sempre un percorso assoluto mentre nelle versioni precedenti conteneva un percorso relativo in alcune circostanze.

3

__FUNCTION__

Il nome della funzione. (Aggiunto in PHP 4.3.0) A partire da PHP 5 questa costante restituisce il nome della funzione così come è stato dichiarato (distingue tra maiuscole e minuscole). In PHP 4 il suo valore è sempre minuscolo.

4

__CLASS__

Il nome della classe. (Aggiunto in PHP 4.3.0) A partire da PHP 5 questa costante restituisce il nome della classe così come è stato dichiarato (distingue tra maiuscole e minuscole). In PHP 4 il suo valore è sempre minuscolo.

5

__METHOD__

Il nome del metodo di classe. (Aggiunto in PHP 5.0.0) Il nome del metodo viene restituito così come è stato dichiarato (distingue tra maiuscole e minuscole).