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
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ě
!")
;
?
|
|