Konštanty sú podobné premenným - majú svoj názov a hodnotu. Rozdiel je v tom, že hodnotu konštanty nemôžeme meniť.
Na zadefinovanie novej konštanty slúži jazykový konštrukt define
. Prvý parameter je názov, druhý hodnota.
define("NAZOV_STRANOK", "Example.com"); define("MEGABAJT", 1048576);
Potom môžeme konštantu používať - stačí napísať jej názvov (bez dolára).
echo "Vitajte na stránkach ".NAZOV_STRANOK; echo "<br>Megabajt má ".MEGABAJT." bajtov.";
Výhoda je v tom, že užívateľ si môže raz zadefinovať vlastnú konštantu a potom ju viackrát použiť. Vďaka názvu konštanty môžeme tiež ľahšie zistiť účel nejakej hodnoty. Ja však na tieto účely väčšinou používam premenné, pretože sa dajú jednoduchšie vložiť do reťazcov.
PHP ponúka množstvo konštánt, ktoré už sú zadefinované a stačí ich použiť. Napríklad Ludolfovo číslo je uložené v konštante M_PI
:
echo M_PI;
Preddefinované premenné síce nie sú konštanty, ale slúžia podobne. Spomeniem pole $_SERVER, obsahujúce najrôznejšie informácie získané od servera, na ktorom PHP beží.
// IP adresa užívateľa echo $_SERVER['REMOTE_ADDR']; // prehliadač užívateľa echo $_SERVER['HTTP_USER_AGENT']; // cesta k skriptu, ktorý sa vykonáva echo $_SERVER['SCRIPT_FILENAME'];
Obsah poľa $_SERVER je závislý od servera a ďalších okolností. Ak chcete zistiť, čo všetko sa v ňom nachádza, môžete použiť tento kód:
echo "<pre>"; print_r($_SERVER); echo "</pre>";
Zoznam preddefinovaných premenných a ich hodnôt môžete získať už známou funkciou phpinfo()
.