luk Sat Mar 2 18:44:41 2002 EDT
Added files:
/phpdoc/cs/appendices migration4.xml reserved.xml
Log:
Index: phpdoc/cs/appendices/migration4.xml
+++ phpdoc/cs/appendices/migration4.xml
<?xml version="1.0" encoding="iso-8859-2"?>
<appendix id="migration4">
<title>P�echod z PHP 3 na PHP 4</title>
<section id='migration4.changes'>
<title>Co se zm�nilo v PHP 4</title>
<para>
PHP 4 a integrovan� Zend engine se vyzna�uje podstatn� vy���m v�konem
a schopnostmi, p�esto v�ak byla v�nov�na zvl�tn� p��e tomu, dopady
na st�vaj�c� k�d byly co nejmen��. Tak�e �pravy va�eho k�du z PHP 3
na PHP 4 by m�ly b�t podstatn� snadn�j�� ne� p�i p�echodu z PHP/FI
2.0 na PHP 3. Mnoho existuj�c�ho k�du pro PHP 3 by m�lo b�t p�ipraveno
b�et bez jak�chkoli zm�n, m�li byste v�ak v�d�t o n�kolika podstatn�ch
odli�nostech a v�novat dobrou p��i otestov�n� k�du p�ed zm�nou verze
produk�n�ho prost�ed�. N�sleduj�c� text by v�m m�l poradit, na co se
zam��it.
</para>
</section>
<section id="migration4.php4.with.php3">
<title>Sou�asn� b�h PHP 3 a PHP 4</title>
<simpara>
Nejnov�j�� opera�n� syst�my poskytuj� mo�nost versioningu a scopingu.
Tyto prost�edky umo��uj� nechat b�et PHP 3 a PHP 4 sou�asn� na
jedin�m serveru Apache.
</simpara>
<simpara>
Funkce je ov��ena na t�chto platform�ch:
</simpara>
<itemizedlist>
<listitem><simpara>Linux + nejnov�j�� binutils (testov�na verze binutils
2.9.1.0.25) </simpara></listitem>
<listitem><simpara>Solaris 2.5 a nov�j��</simpara></listitem>
<listitem><simpara>FreeBSD (testov�ny verze 3.2 a
4.0)</simpara></listitem>
</itemizedlist>
<para>
K aktivaci t�to mo�nosti je t�eba nakonfigurovat PHP 3 a PHP 4 k pou�it�
APXS (--with-apxs) a nezbytn�ch roz���en� vazeb (--enable-versioning).
Jinak postupujte zcela standardn�m zp�sobem (pro konfiguraci, kompilaci
a instalaci). Nap��klad:
<informalexample>
<programlisting role="configure">
<![CDATA[
$ ./configure \
--with-apxs=/apache/bin/apxs \
--enable-versioning \
--with-mysql \
--enable-track-vars
]]>
</programlisting>
</informalexample>
</para>
</section>
<section id="migration4.configuration">
<title>P�evod konfigura�n�ch soubor�</title>
<para>
N�zev glob�ln�ho konfigura�n�ho souboru, <filename>php3.ini</filename>,
se zm�nil na <filename>php.ini</filename>.
</para>
<para>
V konfigura�n�m souboru serveru Apache je pon�kud v�ce zm�n. Zm�nily se
p�edev��m MIME datov� typy rozpozn�van� modulem PHP.
<informalexample>
<programlisting role="apache">
<![CDATA[
application/x-httpd-php3 --> application/x-httpd-php
application/x-httpd-php3-source --> application/x-httpd-php-source
]]>
</programlisting>
</informalexample>
</para>
<para>
M��ete upravit va�e konfigura�n� soubory tak, aby pracovaly s ob�ma
verzemi PHP (v z�vislosti na tom, kter� je v p��slu�n�m okam�iku
zkompilov�na pro server) pou�it�m n�sleduj�c� syntaxe:
<informalexample>
<programlisting>
<![CDATA[
AddType application/x-httpd-php3 .php3
AddType application/x-httpd-php3-source .php3s
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
]]>
</programlisting>
</informalexample>
</para>
<simpara>
Zm�nily se tak� n�zvy direktiv pro server Apache.
</simpara>
<para>
Od verze PHP 4.0 existuj� pouze �ty�i direktivy pro Apache, kter�
maj� spojitost s PHP:
<informalexample>
<programlisting role="apache">
<![CDATA[
php_value [PHP directive name] [value]
php_flag [PHP directive name] [On|Off]
php_admin_value [PHP directive name] [value]
php_admin_flag [PHP directive name] [On|Off]
]]>
</programlisting>
</informalexample>
</para>
<simpara>
Jsou dva rozd�ly mezi hodnotami "admin" a ostatn�mi:
</simpara>
<itemizedlist>
<listitem>
<simpara>Hodnoty (nebo p��znaky) "admin" se mohou objevit pouze
v konfigura�n�ch souborech pro cel� server (nap�. httpd.conf).
</simpara></listitem>
<listitem>
<simpara>Standardn� hodnoty (nebo p��znaky) nemohou ovl�dat jist�
PHP direktivy, nap��klad bezpe�n� re�im (pokud byste mohli zm�nit
nastaven� bezpe�n�ho re�imu v souborech .htaccess, bezpe�n� re�im ztr�c�
smysl). Naopak, "admin" hodnoty mohou zasahovat do jak�chkoli PHP
direktiv.
</simpara></listitem>
</itemizedlist>
<simpara>
Aby byl p�echod na novou verzi snaz��, bal�k PHP 4 obsahuje skripty,
kter� automaticky p�evedou v� konfigura�n� soubor pro Apache a soubory
.htaccess tak, aby pracovaly jak s PHP 3, tak s PHP 4. Tyto skripty
NEP�EV�D�J� ��dky s popisy MIME typ�! Mus�te je upravit ru�n�.
</simpara>
<para>
K p�eveden� konfigura�n�ch soubor� pro Apache, spus�te skript
apconf-conv.sh (um�st�n� v adres��i scripts/apache/). Nap��klad:
<informalexample>
<programlisting role="shell">
<![CDATA[
~/php4/scripts/apache:# ./apconf-conv.sh /usr/local/apache/conf/httpd.conf
]]>
</programlisting>
</informalexample>
</para>
<simpara>
V� origin�ln� konfigura�n� soubor bude ulo�en jako httpd.conf.orig.
</simpara>
<para>
K p�eveden� soubor� .htaccess, spus�te skript aphtaccess-conv.sh
(dostupn� rovn� v adres��i scripts/apache/):
<informalexample>
<programlisting role="shell">
<![CDATA[
~/php4/scripts/apache:# find / -name .htaccess -exec ./aphtaccess-conv.sh {} \;
]]>
</programlisting>
</informalexample>
</para>
<simpara>
I v tomto p��pad� budou origin�ln� soubory .htaccess ulo�eny s koncovkou
.orig.
</simpara>
<simpara>
Konverzn� skripty vy�aduj� nainstalovan� n�stroj awk.
</simpara>
</section>
<section id='migration4.parser'>
<title>Chov�n� parseru</title>
<para>
Parsing a prov�d�n� k�du jsou nyn� dva naprosto odd�len� kroky, nic z k�du
v souboru se neprov�d� d��ve, ne� je �sp�n� provedena �pln� syntaktick�
anal�za cel�ho souboru a v�eho, co je t�eba.
</para>
<para>
Jeden z nov�ch po�adavk�, kter� vyvstaly t�mto rozd�len�m, je, �e v�echny
soubory p�ipojen� prost�ednictv�m "require" a "include" nyn� mus� b�t
syntakticky �pln�. Ji� nelze rozlo�it r�zn� ��sti ��dic�ch konstrukc�
p�es hranice soubor�. Tj. nelze za��t cyklus <literal>for</literal> nebo
literal>while</literal>, v�tven� <literal>if</literal> nebo
<literal>switch</literal> v jednom souboru a uko�it je (resp. pokra�ovat
pomoc� <literal>else</literal>, <literal>endif</literal>,
<literal>case</literal> nebo <literal>break</literal>) v souboru
jin�m.
</para>
<para>
Z�st�v� zcela leg�ln� vlo�it dal�� k�d do cykl� nebo jin�ch ��dic�ch
struktur, pouze ��dic� kl��ov� slova a odpov�daj�c� slo�en� z�vorky
<literal>{...}</literal> mus� b�t ve stejn� kompila�n� jednotce
(souboru nebo �et�zci zpracovan�m pomoc� <function>eval</function>).
</para>
<para>
Toto ne�kod� tolik jako v��e uveden� rozkl�d�n� k�du, p�esto to m��e
b�t pova�ov�no za velmi �patn� styl.
</para>
<para>
Jinou v�c�, kter� ji� nen� mo�n�, je vz�cn� v�dan� vracen� hodnot ze
soubor� p�ipojen�ch pomoc� "require". Vracen� hodnot ze soubor�
p�ipojen�ch "include" je mo�n� i nad�le.
</para>
</section>
<section id='migration4.error-reporting'>
<title>Hl�en� chyb</title>
<section id='migration4.error-reporting.config'>
<title>Zm�ny konfigurace</title>
<para>
Hl�en� chyb v PHP 3 bylo zalo�eno na �rovn�ch, p�edstavovan�ch
jednoduchou ��selnou hodnotou. Hodnoty se s��taly pro r�zn� �rovn� chyb.
Obvykl� hodnoty byly 15 pro hl�en� v�ech chyb a varov�n�, 7 pro hl�en�
v�eho krom� informativn�ch zpr�v, ohla�uj�c�ch �patn� styl a podobn�
v�ci.
</para>
<para>
PHP 4 m� v�t�� mno�inu �rovn� chyb a varov�n� a p�ich�z� s konfigura�n�m
parserem, kter� nyn� umo��uje k nastaven� pot�ebn�ho chov�n� pou��vat
symbolick� konstanty.
</para>
<para>
�rove� hl�en� chyb by m�la b�t nyn� nastavov�na explicitn�m odeb�r�n�m
t�ch �rovn�, u kter�ch kter� nechceme, aby byly hl�eny (pomoc� logick�
operace XOR se symbolickou konstantou).
<literal>E_ALL</literal>. Zn� to komplikovan�? No, tak �ekn�me, �e
chcete hl�sit v�echny chyby s v�jimkou jednoduch�ch "stylov�ch"
varov�n�, kter� jsou za�azena do kategorie popsan� symbolickou konstantou
<literal>E_NOTICE</literal>. Potom do souboru
<filename>php.ini</filename> vlo��te: <literal>error_reporting =
E_ALL & ~ ( E_NOTICE )</literal>. Pokud chcete potla�it tak�
v�echna varov�n�, p�id�te odpov�daj�c� konstantu do z�vorek s pou�it�m
bin�rn�ho oper�toru '|':
<literal>error_reporting= E_ALL & ~ ( E_NOTICE | E_WARNING
)</literal>.
</para>
<warning>
<para>
Pou��v�n� star�ch hodnot 7 a 15 pro nastaven� hl�en� chyb je velmi
�patn� n�pad, proto�e to potla�uje n�kter� nov� p�idan� t��dy chyb
v�etn� syntaktick�ch. To m��e v�st k velmi z�hadn�mu chov�n�, kdy
skripty nepracuj�, ani� by vydaly jakoukoli zpr�vu o chyb�.
</para>
<para>
Toto v minulosti vedlo k mno�stv� nereprodukovateln�ch bug report�
(hl�en� o chyb�ch v PHP), kdy� lid� hl�sili probl�my s enginem,
kter� nebyli schopni vystopovat. Pravou p���inou byla obvykle
chyb�j�c� uzav�rac� z�vorka '}' v souboru p�ipojen�m pomoc� "require",
a parser je nemohl ohl�sit kv�li �patn� nakonfigurovan�mu hl�en� chyb.
</para>
<para>
Tak�e kontrola nastaven� hl�en� chyb by m�la b�t prvn� v�c�, pokud
va�e skripty ti�e havaruj�. Zend engine m��e b�t nyn� pova�ov�n za
dost vysp�l� na to, aby zp�soboval takov� podivn� chov�n�.
</para>
</warning>
</section>
<section id='migration4.error-reporting.additions'>
<title>P��davn� varovn� zpr�vy</title>
<para>
Mnoho existuj�c�ch k�d� v PHP 3 pou��v� jazykov� konstrukty, kter�
by m�ly b�t pova�ov�ny za velmi �patn� styl psan�, nebo� p�esto�e
nyn� d�laj� zam��len� v�ci, snadno mohou b�t naru�eny zm�nami jinde.
PHP 4 bude vyd�vat spousty informativn�ch zpr�v v takov�ch situac�ch,
kdy se v PHP 3 nic ned�lo. Snadnou n�pravou je vypnut� zpr�v E_NOTICE,
ale obvykle je lep�� rad�ji opravit k�d.
</para>
<para>
Nej�ast�j��m p��padem, kter� bude produkovat takov� zpr�vy, je pou�it�
�et�zc� bez uvozovek jako prvk� pole. Jak PHP 3, tak PHP 4 je budou
interpretovat jako �et�zce, pokud pod t�mto jm�nem nen� zn�mo ��dn�
kl��ov� slovo ani konstanta. Pokud by v�ak n�jak� takov� konstanta
(n�kde jinde v k�du) definov�na byla, skript m��e havarovat. M��e to
p�er�st i v bezpe�nostn� riziko, pokud n�jak� �to�n�k p�edefinuje
�et�zcov� konstanty zp�sobem, kter� mu d� p��stupov� pr�va, je� by m�t
nem�l. Tak�e PHP 4 v�s bude nyn� varovat, pokud pou�ijete �et�zecovou
konstantu neuzav�enou do uvozovek, jako nap��klad
<literal>$HTTP_SERVER_VARS[REQUEST_METHOD]</literal>. Zm�n�te-li to na
<literal>$HTTP_SERVER_VARS['REQUEST_METHOD']</literal>, parser se
uklidn� a v�razn� se zlep�� styl a bezpe�nost va�eho k�du.
</para>
<para>
Dal�� v�c� v PHP 4 je hl�en� pou�it� neinicializovan�ch prom�nn�ch
a prvk� pol�.
</para>
</section>
</section>
<section id='migration4.initializers'>
<title>Inicializ�tory</title>
<para>
Statick� prom�nn� a inicializ�tory polo�ek t��d p�ij�maj� pouze
skal�rn� hodnoty, zat�mco v PHP 3 p�ij�maly i jak�koli platn� v�razy.
Toto je, op�t, kv�li rozd�len� mezi parsing a prov�d�n� k�du - kdy�
parser zpracov�v� inicializ�tor, je�t� nen� proveden ��dn� k�d.
</para>
<para>
K inicializaci polo�ek ve t��d�ch byste m�li nam�sto toho pou��vat
konstruktory. Pro statick� prom�nn� p�esto vz�cn� d�v� smysl i n�co
jin�ho ne� oby�ejn� hodnota.
</para>
</section>
<section id='migration4.empty'>
<title><literal>empty("0")</literal></title>
<para>
Asi nejkontroverzn�j�� zm�nou v chov�n� je zm�na ve funkci
<function>empty</function>. �et�zec obsahuj�c� pouze znak '0' (nula)
je nyn� pova�ov�n za pr�zdn�, co� v PHP 3 nebylo.
</para>
<para>
Toto nov� chov�n� m� smysl u aplikac� pro web tam, kde v�echna vstupn�
pole vrac� �et�zce, i kdy� je po�adov�n ��seln� vstup, a se schopnost�
PHP prov�d�t automatickou typovou konverzi. Na druhou stranu m��e
v n�kter�ch p��padech v�st k chybn�mu chov�n�, jeho� p���iny se �patn�
zji�tuj�, pokud nev�te, co m�te hledat.
</para>
</section>
<section id='migration4.missing'>
<title>Chyb�j�c� funkce</title>
<para>
Sou�asn� s t�m, �e se v PHP 4 objevuje mnoho nov�ch prost�edk�, funkc�
a roz���en�, m��ete naj�t i funkce, kter� oproti verzi 3 chyb�. Mal�
po�et j�drov�ch funkc� zmizel, proto�e nefunguj� s nov�m sch�matem
odd�len� parsingu a prov�d�n� k�du v Zend enginu. Jin� funkce i cel�
kompletn� roz���en� se staly zastaral�mi t�m, �e nov�j�� funkce a
roz���en� poslou�� ve stejn� roli l�pe nebo obecn�ji. N�kter� funkce
jednodu�e je�t� nebyly portov�ny a kone�n� jsou tak� funkce a roz���en�
chyb�j�c� kv�li licen�n�m konflikt�m.
</para>
<section id='migration4.missing.concept'>
<title>Funkce chyb�j�c� kv�li konceptu�ln�m zm�n�m</title>
<para>
T�m, �e PHP 4 odd�luje syntaktickou anal�zu od interpretace, ji� nen�
mo�n� m�nit chov�n� parseru (nyn� vlo�en�ho do Zend enginu) b�hem
prov�d�n� skriptu, kter� byl ji� syntakticky zpracov�n.
Tak�e funkce <function>short_tags</function> ji� neexistuje.
M�nit chov�n� parseru st�le m��ete, a to nastaven�m hodnot v souboru
<filename>php.ini</filename>.
</para>
<para>
Jin�m prost�edkem PHP 3, kter� nen� sou��st� PHP 4, je zabudovan�
rozhran� pro lad�n�. Existuj� extern� dopl�ky pro Zend engine, kter�
poskytuj� podobn� funkce.
</para>
</section>
<section id='migration4.deprecate'>
<title>Zavr�en� funkce a roz���en�</title>
<para>
Datab�zov� roz���en� Adabas a Solid ji� nejsou k dispozici. Nam�sto toho
se pou��v� roz���en� unifikovan� rozhran� ODBC.
</para>
</section>
<section id='migration4.unset'>
<title>Zm�n�n� status funkce <function>unset</function></title>
<para>
<function>unset</function>, p�esto�e je st�le k dispozici, je
implementov�na jako jazykov� konstrukt nam�sto funkce.
</para>
<para>
To nem� ��dn� d�sledky v chov�n�
<function>unset</function>, ale test "unset" pomoc�
<function>function_exists</function> vr�t� &false;, stejn� jako
v p��pad� jin�ch jazykov�ch konstrukt�, kter� vypadaj� jako funkce,
nap�. <function>echo</function>.
</para>
<para>
Jinou, prakti�t�j�� zm�nou je to, �e ji� nelze volat
<function>unset</function> nep��mo, tzn.
<literal>$func="unset"; $func($somevar)</literal> u� nebude fungovat.
</para>
</section>
</section>
<section id='migration4.extensions'>
<title>Roz���en� PHP 3</title>
<para>
Roz���en� psan� pro PHP 3 nebudou s PHP 4 pracovat, ani na bin�rn�, ani
na zdrojov� �rovni. Nen� t�k� portovat tato roz���en� na PHP 4, pokud
m�te p��stup k origin�ln�mu zdrojov�mu k�du. Detailn� popis procesu
portace nen� sou��st� tohoto textu.
</para>
</section>
<section id='migration4.strings'>
<title>Substituce za prom�nn� v �et�zc�ch</title>
<para>
PHP 4 p�id�v� nov� mechanismus k substituci za prom�nn� v �et�zc�ch.
Nyn� m��ete kone�n� uvnit� �et�zc� p�istupovat k polo�k�m v objektech
a k prvk�m v�cerozm�rn�ch pol�.
</para>
<para>
To se ud�l� pomoc� uzav�en� prom�nn�ch do slo�en�ch z�vorek se znakem
dolaru ihned za otv�rac� z�vorkou:
<literal>{$...}</literal>
</para>
<para>
K vlo�en� hodnoty polo�ky objektu do �et�zce jednodu�e nap��ete
<literal>"text {$obj->member} text"</literal>, zat�mco v PHP 3 jste
museli napsat n�co jako <literal>"text ".$obj->member." text"</literal>.
</para>
<para>
Toto by m�lo v�st k �iteln�j��mu k�du, ale m��e to zp�sobovat probl�my
s existuj�c�mi skripty pro PHP 3. M��ete ale prov�st test na kombinaci
znak� <literal>{$</literal> ve va�em k�du a jejich nahrazen�
<literal>\{$</literal> pomoc� va�eho obl�ben�ho n�stroje pro hled�n� a
n�hradu.
</para>
</section>
<section id='migration4.cookies'>
<title>Cookies</title>
<para>
V PHP 3 se zavedl �patn� zvyk nastavovat cookies opa�n�m po�ad�m vol�n�
<function>setcookie</function> v k�du. PHP 4 toto napravuje a vytv���
hlavi�kov� ��dky pro cookies v p�esn� stejn�m po�ad�, jak jdou za sebou
v k�du.
</para>
<para>
Op�t se mohou vyskytnout probl�my s existuj�c�m k�dem, ale star� chov�n�
bylo tak t�ko pochopiteln�, �e si zaslou�ilo zm�nu, aby se zabr�nilo
dal��m probl�m�m v budoucnosti.
</para>
</section>
<section id='migration4.variables'>
<title>Obsluha glob�ln�ch prom�nn�ch</title>
<para>
Zat�mco v PHP 3 a prvn�ch verz�ch PHP 4 se p�i obsluze glob�ln�ch
prom�nn�ch dbalo p�edev��m na jednoduchost, nyn� se zam��en� zm�nilo
sm�rem k vy��� bezpe�nosti. Tak�e jestli�e n�sleduj�c� p��pad dob�e
fungoval v PHP 3, v PHP 4 je t�eba prov�st unset($GLOBALS["id"]);.
Toto je jen jeden aspekt obsluhy glob�ln�ch prom�nn�ch. M�li byste
v�dy pou��vat $GLOBALS, v nov�j��ch verz�ch PHP 4 budete nuceni
tak u�init ve v�t�in� p��pad�. V�ce o t�to problematice najdete v
<link linkend="references.global">
��sti <literal>global</literal> (glob�ln�) reference</link>.
</para>
<example>
<title>Zm�ny u glob�ln�ch prom�nn�ch</title>
<programlisting role="php">
<![CDATA[
<?php
$id = 1;
function test()
{
global $id;
unset($id);
}
test();
echo($id); // This will print out 1 in PHP 4
]]>
</programlisting>
</example>
</section>
</appendix>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
-->
Index: phpdoc/cs/appendices/reserved.xml
+++ phpdoc/cs/appendices/reserved.xml
<?xml version="1.0" encoding="iso-8859-2"?>
<appendix id="reserved">
<title>Seznam vyhrazen�ch slov</title>
<para>
Toto je seznam vyhrazen�ch slov PHP, obvykle
<link linkend="language.constants">konstant</link> a
<link linkend="language.variables.predefined">p�eddefinovan�ch prom�nn�ch</link>.
Nenajdete zde ��dn� funkce, co� v�ak neplat� pro jazykov� konstrukty.
Uveden�mi n�zvy byste se nem�li pokou�et naz�vat prom�nn�, funkce,
konstanty nebo metody, vedlo by to spolehliv� ke zmatku.
<simplelist columns="3">
<member>
<link linkend="language.operators.logical">and</link>
</member>
<member>
<link linkend="language.variables.predefined.php">$argv</link>
</member>
<member>
<link linkend="control-structures.foreach">as</link>
</member>
<member>
<link linkend="language.variables.predefined.php">$argc</link>
</member>
<member>
<link linkend="control-structures.break">break</link>
</member>
<member>
<link linkend="control-structures.switch">case</link>
</member>
<member>
<link linkend="functions.old-syntax">cfunction</link>
</member>
<member>
<link linkend="keyword.class">class</link>
</member>
<member>
<link linkend="control-structures.continue">continue</link>
</member>
<member>
<link linkend="control-structures.declare">declare</link>
</member>
<member>
<link linkend="control-structures.switch">default</link>
</member>
<member>
<link linkend="control-structures.do.while">do</link>
</member>
<member>
<function>die</function>
</member>
<member>
<function>echo</function>
</member>
<member>
<link linkend="control-structures.else">else</link>
</member>
<member>
<link linkend="control-structures.elseif">elseif</link>
</member>
<member>
<function>empty</function>
</member>
<member>
<link linkend="control-structures.declare">enddeclare</link>
</member>
<member>
<link linkend="control-structures.alternative-syntax">endfor</link>
</member>
<member>
<link linkend="control-structures.alternative-syntax">endforeach</link>
</member>
<member>
<link linkend="control-structures.alternative-syntax">endif</link>
</member>
<member>
<link linkend="control-structures.alternative-syntax">endswitch</link>
</member>
<member>
<link linkend="control-structures.alternative-syntax">endwhile</link>
</member>
<member>
<link linkend="language.constants">E_ALL</link>
</member>
<member>
<link linkend="language.constants">E_PARSE</link>
</member>
<member>
<link linkend="language.constants">E_ERROR</link>
</member>
<member>
<link linkend="language.constants">E_WARNING</link>
</member>
<member>
<link linkend="function.eval">eval</link>
</member>
<member>
<function>exit</function>
</member>
<member>
<link linkend="keyword.class">extends</link>
</member>
<member>
<link linkend="language.constants">&false;</link>
</member>
<member>
<link linkend="control-structures.for">for</link>
</member>
<member>
<link linkend="control-structures.foreach">foreach</link>
</member>
<member>
<link linkend="functions.user-defined">function</link>
</member>
<member>
<link linkend="language.variables.predefined.php">$HTTP_COOKIE_VARS</link>
</member>
<member>
<link linkend="language.variables.predefined.php">$HTTP_GET_VARS</link>
</member>
<member>
<link linkend="language.variables.predefined.php">$HTTP_POST_VARS</link>
</member>
<member>
<link linkend="language.variables.predefined.php">$HTTP_POST_FILES</link>
</member>
<member>
<link linkend="language.variables.predefined.php">$HTTP_ENV_VARS</link>
</member>
<member>
<link linkend="language.variables.predefined.php">$HTTP_SERVER_VARS</link>
</member>
<member>
<link linkend="control-structures.if">if</link>
</member>
<member>
<function>include</function>
</member>
<member>
<function>include_once</function>
</member>
<member>
<link linkend="language.variables.scope">global</link>
</member>
<member>
<function>list</function>
</member>
<member>
<link linkend="keyword.class">new</link>
</member>
<member>
<link linkend="language.operators.logical">not</link>
</member>
<member>
<link linkend="language.constants.predefined">NULL</link>
</member>
<member>
<link linkend="functions.old-syntax">old_function</link>
</member>
<member>
<link linkend="language.operators.logical">or</link>
</member>
<member>
<link linkend="keyword.parent">parent</link>
</member>
<member>
<link linkend="language.constants">PHP_OS</link>
</member>
<member>
<link linkend="language.variables.predefined.php">$PHP_SELF</link>
</member>
<member>
<link linkend="language.constants">PHP_VERSION</link>
</member>
<member>
<function>print</function>
</member>
<member>
<function>require</function>
</member>
<member>
<function>require_once</function>
</member>
<member>
<function>return</function>
</member>
<member>
<link linkend="language.variables.scope">static</link>
</member>
<member>
<link linkend="control-structures.switch">switch</link>
</member>
<member>
<link linkend="keyword.class">stdClass</link>
</member>
<member>
<link linkend="keyword.class">$this</link>
</member>
<member>
<link linkend="language.constants">&true;</link>
</member>
<member>
<link linkend="keyword.class">var</link>
</member>
<member>
<link linkend="language.operators.logical">xor</link>
</member>
<member>
<function>virtual</function>
</member>
<member>
<link linkend="control-structures.while">while</link>
</member>
<member>
<link linkend="language.constants">__FILE__</link>
</member>
<member>
<link linkend="language.constants">__LINE__</link>
</member>
<member>
<link linkend="language.oop.magic-functions">__sleep</link>
</member>
<member>
<link linkend="language.oop.magic-functions">__wakeup</link>
</member>
</simplelist>
</para>
</appendix>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
-->