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
Príklad pre použitie __FILE__ a __LINE__
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ě!");
?>