Kao što znate, iz drugih programskih jezika, konstante predstavljaju identifikatore dodeljenih vrednosti koji se ne menjaju tokom izvršavanja programa. I sam naziv konstanti je logičan, jer "promenljive" (varijable) programer može menjati, dok se vrednost konstanti ne može menjati. PHP u sebi nosi nekoliko predefinisanih konstanti, a naravno obezbeđuje i mehanizam za definisanje novih konstanti tokom run-time-a. Inače vrlo su slične varijablama, s tim što se za razliku od njih definišu uz pomoć funkcije "define()" i kasnije im ne može biti dodeljena druga vrednost.
U sledećim redovima predstavićemo vam neke od predefinisanih konstanti, koje možete koristiti u svakom trenutku:
- PHP_VERSION - konstanta koja sadrži vrednost verzije PHP parsera koja se koristi.
- PHP_OS - konstanta koja sadrži string - naziv operativnog sistema na kome se radi PHP parser. Na primer: Linux
- TRUE - vrednost true - 1.
- FALSE - vrednost false - 0.
Da bi isprobali ove konstante, kreiraćemo mali PHP skript koji će "odštampati" vrednost ovih konstanti:
<?php
echo PHP_VERSION;
echo TRUE;
echo PHP_OS;
?>
Rezultat će zavisiti od vaše konfiguracije.
Kao što smo rekli, pored predefinisanih možemo definisati i naše korisničke konstante. Za definisanje konstanti se koristi ugrađena funkcija "define()", čija je sintaksa sledeća:
int define (naziv_konstante, dodeljena_vrednost [, int mala_slova])
Ovom sintaksom definišemo konstante, koje su vrlo slične varijablama, osim u sledećem:
- Ispred identifikatora konstanti ne ide znak "$".
- Konstantama možete pristupiti sa bilo kog mesta u skriptu, bez obira na oblast prostiranja.
- Kada se jednom definišu, ne mogu biti redefinisane ili nedefinisane.
Argumenti "naziv_konstante" i "dodeljena_vrednost" predstavljaju, sam naziv konstante i njenu vrednost, a argument "mala_slova" određuje osetljivost na upotrebu malih-velikih slova. Po default-u konstanta je osetljiva na upotrebu malih-velikih slova (nije isto "KONSTANTA" i "Konstanta"), a ako argumentu dodelite vrednost "1" - onda neće biti. Za primer definisaćemo dve konstante i izvršiti ispis njihovih vrednosti:
<?php
define ("RECENICA", "Recenica koja ce se ispisati.");
echo RECENICA;
?>
Skript će rezultovati ispisom vrednosti dodeljenoj konstanti "RECENICA".