Konštanty PHP

PHP definuje několik konstant a poskytuje mechanismus pro definici dalších za běhu. Konstanty se hodně podobají proměnným s výjimkou dvou skutečností: konstanty se musí definovat pomocí funkce define(), a nemohou později nabývat jiných hodnot.

Předdefinované konstanty (dostupné vždy) jsou:


__FILE__
Název souboru skriptu, který je právě čten. Pokud je použita v souboru, který byl vložen pomocí "include" nebo "require", obsahuje název vloženého souboru, nikoli rodičovského.

__LINE__
Číslo řádku ve skriptu, který je právě čten. Pokud je použita v souboru vloženého pomocí "include" nebo "require", obsahuje pozici v rámci tohoto souboru.

PHP_VERSION
Textové vyjádření verze běžícího PHP parseru, např. '3.0.8-dev'.

PHP_OS
Název operačního systému, na kterém PHP parser běží, např. 'Linux'.

TRUE
Pravdivá hodnota (logická jednička).

FALSE
Nepravdivá hodnota (logická nula).

E_ERROR
Označuje neošetřitelnou chybu jinou než "parse error".

E_WARNING
Označuje stav, kdy PHP ví, že je něco špatně, ale bude dál pokračovat. Tyto stavy se dají ošetřit v samotném skriptu. Příkladem by byl neplatný "regexp" (regulární výraz) ve funkci ereg.

E_PARSE
Chyba při syntaktické analýze skriptu (chybná syntaxe). Ošetření není možné.

E_NOTICE
Došlo k něčemu, co by mohlo být chybou. Provádění skriptu pokračuje. Mezi příklady patří textový index pole neopatřený uvozovkami nebo práce s proměnnou, která ještě nebyla definována.

E_ALL
Všechny E_* konstantty shrnuté do jedné. Při použití s funkcí error_reporting způsobí hlášení úplně všech problému zaregistrovaných PHP.


E_* konstanty se typicky používají s funkcí error_reporting nastavení hladiny hlášení chyb. Viz všechny tyto konstanty v Ošetření chyb.

Další konstanty můžete definovat pomocí funkce define.

Všimněte si, že toto jsou konstanty, ne céčkovská makra; konstanty mohou reprezentovat pouze platná skalární data.

Príklad pre definície konštánt

<?php
define("CONSTANT", "Hello world.");
echo CONSTANT; // vytiskne "Hello world."
?>


Príklad pre použitie __FILE__ a __LINE__

<?php
function report_error($file, $line, $message) {
    echo "Došlo k chybě v souboru $file na řádku $line: $message.";
}

report_error(__FILE__,__LINE__, "Něco je špatně!");
?>