Costanti in PHP e come dichiarare le costanti
- 24-07-2022
- Toanngo92
- 0 Comments
Mục lục
Il concetto di costanti
Una costante è un termine che identifica un singolo valore. Il valore della costante non può essere modificato mentre lo script è in esecuzione. I nomi delle costanti possono iniziare solo con una lettera o un trattino basso (il segno $ non può essere posto prima del nome della costante).
Le costanti, a differenza delle variabili, sono automaticamente globali in tutto lo script. In breve, una costante è simile a una variabile, ma una volta specificata non può essere modificata
Definizione di costante
Sintassi Inizializzazione delle costanti in PHP:
define(name, value, case-insensitive)
Per esempio:
<?php define('VERSION','8.0'); echo VERSION; // output: 8.0 ?>
Matrice costante
In PHP 8, è possibile creare una costante di matrice utilizzando la funzione define().
<?php define("CARS", [ "Alfa Romeo", "BMH", "Toyota", "Range-Rover" ]); var_dump(CARS); // array(4) { [0]=> string(10) "Alfa Romeo" [1]=> string(3) "BMH" [2]=> string(6) "Toyota" [3]=> string(11) "Range-Rover" }
Esistono costanti nell'ambito globale. Pertanto, possono essere utilizzati in tutto lo script.
Esempio utilizzando costanti all'interno della funzione, anche se sono definite al di fuori della funzione:
<?php define("Hello", "what's new in PHP?"); function myTest() { echo Hello; } myTest(); //output: what's new in PHP? ?>
Costanti magiche in PHP (costanti predefinite)
In PHP, il valore di alcune costanti predefinite cambia a seconda del contesto in cui vengono utilizzate. Queste costanti sono chiamate Costanti Magiche. Non fanno distinzione tra maiuscole e minuscole. Ci sono nove costanti magiche in PHP, otto delle quali iniziano e finiscono con un doppio underscore (__):
- __LINEA__
- __FILE__
- __DIR__
- __FUNZIONE__
- __CLASSE__
- __TRATTO__
- __METODO__
- __NAMESPACE__
- NomeClasse::classe
Nomi costanti | descrizione |
__LINEA__ | Restituisce il numero di riga corrente |
__FILE__ | Restituisce il percorso assoluto del file corrente |
__DIR__ | Restituisce il percorso della directory corrente |
__FUNZIONE__ | Restituisce la funzione corrente chiamata |
__CLASSE__ | Restituisce la classe corrente |
__TRATTO__ | Restituisce il TRAIT in uso |
__METODO__ | Restituisce il metodo corrente |
__NAMESPACE__ | Restituisce lo spazio dei nomi corrente |
NomeClasse::classe | Restituisce la classe corrente |
A differenza delle costanti regolari, tutte e 9 queste costanti vengono risolte in fase di compilazione anziché in fase di esecuzione.