Kapitola 9. Konstanty

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 , ž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_* konstanty 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 .

Příklad 9-1 . Definice konstant

 
?php

 
define(

 
"CONSTANT"

 
,

 
"Hello

 
world

 
.")

 
;

 
echo

 
CONSTANT

 
;

 
/

 
/

 
vytiskne

 
"Hello

 
world

 
.

 
"

 
?



Příklad 9-2 . Použití __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ě

 
!")

 
;

 
?