|
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_* 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 8-1. Definice konstant <?php
define("CONSTANT", "Hello world.");
echo CONSTANT; // vytiskne "Hello world."
?> |
|
P°φklad 8-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∞!");
?> |
|
| |