Treci la conținutul principal

Constante în PHP

O constantă păstrează o valoare la fel ca o variabilă, cu o diferență esențială: după ce o definești, nu o mai poți nici modifica, nici anula.

PHP îți oferă două moduri de a crea una: funcția define() și cuvântul cheie const.

Numele respectă o regulă simplă: încep cu o literă sau cu un underscore și nu au semnul $ folosit de variabile.


Funcția define() în PHP

define() își creează constanta în timpul execuției.

Constanta ajunge întotdeauna în domeniul global, chiar și atunci când define() este apelată într-un bloc condițional (if/else, bucle, funcții). Constantele de clasă nu pot fi însă create cu această funcție.

Primește doi parametri:

  • CONSTANT_NAME - cum se numește constanta (sensibil la majuscule și minuscule)
  • value - ce păstrează constanta

Crearea unei constante cu define()

Aici define() creează o constantă numită „GREETING”, iar echo o afișează. Observă lipsa semnului $:

Prompt
Scrie un script PHP care creează o constantă numită „GREETING” cu valoarea „Bine ați venit la PromptCookbook!” folosind define(), apoi afișează constanta cu echo.
Ieșire: script PHP

Constantă în interiorul unei funcții

Constanta este creată în interiorul lui myTest(), dar codul din afara funcției o poate afișa în continuare:

Prompt
Scrie un script PHP care declară o constantă în interiorul unei funcții folosind define(), apelează funcția, apoi afișează constanta în afara funcției.
Ieșire: script PHP

Sintaxa define()

Aceasta este forma generală a unui apel define():

index.php
<?php
define(CONSTANT_NAME, value);
?>

Cuvântul cheie const în PHP

Cu const, constanta este creată în schimb în timpul compilării.

Din acest motiv trebuie să stea în domeniul de la nivelul superior. Nu poți folosi const astfel în interiorul funcțiilor, buclelor, instrucțiunilor if/else sau blocurilor try/catch.

Spre deosebire de define(), funcționează și pentru constante de clasă.

Și aici, numele sunt sensibile la majuscule și minuscule.

Crearea unei constante cu const

Aceeași constantă „GREETING”, creată de data aceasta cu const:

Prompt
Scrie un script PHP care creează o constantă numită „GREETING” folosind cuvântul cheie const și o afișează cu echo.
Ieșire: script PHP

Sintaxa const

Aceasta este forma generală a unei declarații const:

index.php
<?php
const CONSTANT_NAME = value;
?>

Constante de tip tablou în PHP

O constantă nu trebuie să păstreze neapărat o singură valoare. Atât define(), cât și const acceptă și tablouri.

Crearea constantelor de tip tablou

Fiecare metodă creează câte o constantă de tip tablou, iar elementele se citesc după index, ca în orice tablou:

Prompt
Scrie un script PHP care creează constante de tip tablou folosind atât define(), cât și const, apoi accesează elemente din fiecare.
Ieșire: script PHP