gerzson Tue Jan 29 18:59:16 2002 EDT
Modified files:
/phpdoc/hu/language control-structures.xml
Log:
sync to EN revision
Index: phpdoc/hu/language/control-structures.xml
diff -u phpdoc/hu/language/control-structures.xml:1.16
phpdoc/hu/language/control-structures.xml:1.17
--- phpdoc/hu/language/control-structures.xml:1.16 Tue Jan 29 13:06:24 2002
+++ phpdoc/hu/language/control-structures.xml Tue Jan 29 18:59:16 2002
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="iso-8859-2"?>
-<!-- EN-Revision: 1.48 Maintainer: goba Status: ready -->
+<!-- EN-Revision: 1.53 Maintainer: goba Status: ready -->
<!-- CREDITS: kgergely,gerzson -->
<chapter id="control-structures">
@@ -989,128 +989,102 @@
</sect2>
</sect1>
- <sect1 id="function.require">
- <title><function>require</function></title>
- <simpara>
- A <function>require</function> hely�n az a megadott f�jl tartalma
- helyettes�t�dik be pont �gy, mint a C preprocesszor
- <literal>#include</literal>-ja.
- </simpara>
+ <sect1 id="function.return">
+ <title>return</title>
<simpara>
- Ha az "URL fopen wrapper"-ek be vannak kapcsolva (ami az
- alap�rtelmezett helyzet), akkor a <function>require</function>
- haszn�latakor t�voli f�jlt is megadhat�. L�sd
- a <link linkend="features.remote-files">T�voli f�jlok kezel�se</link>
- c�m� fejezetet �s az <function>fopen</function> f�ggv�nyt!
- </simpara>
- <simpara>
- A m�k�d�sre vonatkoz�lag fontos megjegyezni, hogy ha egy
- f�jlt beilleszt�nk az <function>include</function>-dal vagy
- <function>require</function>-ral, akkor a c�lf�jl elej�n az elemz� kil�p
- a PHP m�db�l HTML m�dba, majd vissza�ll PHP m�dba a f�jl v�g�n.
- Ennek ok�n b�rmely beillesztend� f�jlban lev� PHP k�dot k�zre kell fogni
- egy <link linkend="language.basic-syntax.phpmode">�rv�nyes
- PHP kezd�- �s z�r�jel�l�ssel</link>.
- </simpara>
- <simpara>
- A <function>require</function> val�j�ban nem is
- f�ggv�ny a PHP-ben, hanem nyelvi konstrukci�. Ez
- azt jelenti, hogy m�s szab�lyok vonatkoznak r�, mint
- a f�ggv�nyekre. P�ld�ul a <function>require</function>-re
- nem vonatkoznak a k�rbez�r� strukt�r�k korl�toz�sai �s
- nincs visszat�r�si �rt�ke. Ha megpr�b�lod
- olvasni a <function>require</function> h�v�s visszat�r�si
- �rt�k�t, a h�v�s �rtelmez�si hib�t (parse error) eredm�nyez.
- </simpara>
- <simpara>
- Az <function>include</function>-t�l elt�r�n a
- <function>require</function> <emphasis>mindig</emphasis>
- beolvassa a c�lf�jlt, <emphasis>m�g akkor is, ha a sor,
- ahol �ll soha nem hajt�dik v�gre</emphasis>. Ha
- felt�telesen szeretn�l beemelni egy f�jl-t, haszn�ld
- az <function>include</function>-ot. A felt�teles
- kifejez�s nincs hat�ssal a <function>require</function>-ra.
- Ennek ellen�re, ha a sor, amelyen a <function>require</function>
- �ll nem hajt�dik v�gre, a c�lf�jlban l�v� k�d nem is
- fog lefutni.
+ A <function>return</function> utas�t�s f�ggv�nyen bel�l haszn�lva
+ azonnal befejezi a foly� f�ggv�ny fut�s�t, �s a param�terek�nt
+ megadott �rt�k szolg�ltatja a f�ggv�ny visszat�r�si �rt�k�t.
+ A <function>return</function> az <function>eval</function>
+ f�ggv�nnyel futatott k�d vagy a szkript fut�s�t is le�ll�tja.
+ </simpara>
+ <simpara>
+ A glob�lis �rv�nyess�gi k�rben haszn�lva a foly� szkript fut�s�t
+ szak�tja meg. Ha ez a szkript az <function>include</function>
+ vagy a <function>require</function> hat�s�ra lett futtatva, akkor
+ a vez�rl�s visszaad�dik arra a f�jlra, ahol ezek az utas�t�sok
+ szerepelnek, valamint <function>include</function> eset�n a
+ <function>return</function> param�tere lesz az
+ <function>include</function> utas�t�s visszat�r�si �rt�ke.
+ Ha a <function>return</function> a f� szkriptben lett kiadva, akkor
+ befejez�dik a szkript fut�sa. Ha ez a <link
+ linkend="ini.auto-prepend-file">auto_prepend_file</link> vagy <link
+ linkend="ini.auto-append-file">auto_append_file</link>
+ konfigur�ci�s be�ll�t�sban szerepl� f�jlok valamelyik�ben t�rt�nik
+ (l�sd: <link linkend="configuration.file">konfigur�ci�s f�jl</link>)
+ akkor, (csak) ezeknek a fut�sa fejez�dik be.
+ </simpara>
+ <simpara>Tov�bbi magyar�zat�rt l�sd <link
+ linkend="functions.returning-values">Visszat�r�si �rt�kek</link> c.
+ fejezetet!
</simpara>
+ <note>
+ <simpara>
+ Mivel a <function>return</function> nyelvi szerkezet �s nem f�ggv�ny,
+ a param�ter�t k�r�lvev� z�r�jelek <emphasis>elhagyhat�k</emphasis>.
+ Val�j�ban az a megszokottabb, hogy nem is haszn�lj�k, b�r ez egy�ltal�n
+ nem sz�m�t.
+ </simpara>
+ </note>
+ </sect1>
+
+ <sect1 id="function.require">
+ <title><function>require</function></title>
<simpara>
- Hasonl�an, a ciklusok sem v�ltoztatj�k meg a
- <function>require</function> viselked�s�t. B�r a c�lf�jl
- k�dja a ciklusmagban van, a <function>require</function>
- v�grehajt�sa csak egyszer t�rt�nik meg.
+ A <function>require</function> beilleszti �s feldolgozza a megadott
+ f�jlt. Ennek r�szletes mik�ntj�r�l, l�sd <function>include</function>!
</simpara>
- <para>
- Ez azt jelenti, hogy hi�ba teszed a
- <function>require</function>-t egy ciklus belsej�be azt
- v�rva, hogy k�l�nb�z� f�jlokat hozzon be minden iter�ci�ra.
- Ha ezt szeretn�d haszn�ld az <function>include</function>-ot.
- A require-t konstans f�jlnevekkel haszn�ld:
- <informalexample>
- <programlisting role="php">
-<![CDATA[
-require ('header.php');
-]]>
- </programlisting>
- </informalexample>
- </para>
<simpara>
- Ha egy f�jlt <function>require</function>-rel t�ltesz be, akkor
- az �ltala tartalmazott k�d azt az �rv�nyess�gi k�rt �r�kli,
- amely a <function>require</function> h�v�s sor�ra vonatkozott.
- B�rmilyen v�ltoz�, amely azon a soron el�rhet�, rendelkez�sre
- �ll a h�vott f�jlban. Ha a <function>require</function>
- egy f�ggv�nyben tal�lhat� a h�v� f�jlban, akkor a h�vott
- f�jl teljes k�dja �gy fog viselkedni, mintha a f�ggv�nyen
- bel�l �rtad volna.
+ A <function>require</function> �s az <function>include</function>
+ megegyezik egym�ssal a hibakezel�s�t lesz�m�tva.
+ Az <function>include</function> nem fat�lis hib�t, <link
+ linkend="internal.e-warning">figyelmeztet�st</link> gener�l, a
+ <function>require</function> viszont <link linkend="internal.e-error">
+ fat�lis hib�t</link> jelez. M�ssz�val, ahol az ig�nyelt f�jl neml�tekor
+ a fut�st meg kell szak�tani, aj�nlott a <function>require</function>.
+ Az <function>include</function> nem �gy viselkedik, a hib�t�l f�ggetlen�l
+ a szkript futtat�sa folytat�dik. Bizonyosodj meg, hogy a <link
+ linkend="ini.include-path">include_path</link> helyesen van be�ll�tva!
</simpara>
<para>
- Ha a <function>require</function>-rel h�vott f�jl HTTP-n
- kereszt�l �rkezik az "fopen wrapper"-ek haszn�lat�val, �s
- a c�lszerver feldolgozza a f�jlt, mint PHP k�dot,
- �tadhatsz v�ltoz�kat a h�vott f�jlnak HTTP GET lek�r�si
- form�ban. Ez nem ugyanaz, mintha a <function>require</function>-rel
- h�vott f�jl �r�k�ln� a helyi v�ltoz�kat, mivel a szkript
- val�j�ban a t�voli szerveren fut le, �s a fut�si eredm�ny
- ker�l be�p�t�sre a helyi szkriptbe.
- <informalexample>
+ <example>
+ <title>Egyszer� <function>require</function> p�ld�k</title>
<programlisting role="php">
<![CDATA[
-/* Ezek a p�ld�k felt�telezik, hogy a szerver be van �ll�tva a .php
- * f�jlok feldolgoz�s�ra �s nincs be�ll�tva a .txt f�jlok feldolgoz�s�ra
- * A 'm�k�dik' azt jelenti, hogy az $elsovaltozo �s $masodikvaltozo
- * v�ltoz�k el�rhet�ek a beh�vott f�jlban. */
+<?php
-/* Nem m�k�dik: a file.txt nem ker�l feldolgoz�sra */
-require ("http://szerver/file.txt?elsovaltozo=1&masodikvaltozo=2");
+require 'prepend.php';
-/* Nem m�k�dik: egy 'file.php?elsovaltozo=1&masodikvaltozo=2'
- * nev� f�jlt keres a helyi rendszeren */
-require ("file.php?elsovaltozo=1&masodikvaltozo=2");
+require $valamifajl;
-/* M�k�dik */
-require ("http://szerver/file.php?elsovaltozo=1&masodikvaltozo=2");
+require ('valamifajl.txt');
-$elsovaltozo = 1;
-$masodikvaltozo = 2;
-require ("file.txt"); /* M�k�dik */
-require ("file.php"); /* M�k�dik */
+?>
]]>
</programlisting>
- </informalexample>
+ </example>
</para>
<simpara>
- A PHP 3-ban van r� lehet�s�g, hogy egy <literal>return</literal>-t
- helyezz�nk el a <function>require</function>-rel beh�vott f�jlba,
- ha a return a beh�vott f�jl glob�lis r�sz�ben van. Nem szerepelhet
- blokkban sem, teh�t nem lehet kapcsos z�r�jelen bel�l ({}).
- A PHP 4-ben ezt a lehet�s�get megsz�ntett�k. Ha szeretn�l valami
- ilyesf�l�t, akkor n�zd meg az <function>include</function>-ot.
+ L�sd az <function>include</function> oldal�t m�g t�bb p�ld��rt!
</simpara>
+ <note>
+ <simpara>
+ PHP 4.0.2 el�tt, a k�vetkez�k szerint m�k�d�tt. A <function>require</function>
+ mindig beolvasta a k�v�nt f�jlt, m�g ha az a <function>require</function>-t
+ tartalmaz� sorra soha nem is ker�lt vez�rl�s. A felt�teles szerkezetek
+ nem befoly�solt�k a m�k�d�s�t. M�gis, ha a <function>require</function>-t
+ tartalmaz� sorra nem ker�lt vez�rl�s a megadott f�jlban l�v� k�d nem futott
+ le. Ehhez hasonl�an, a ciklusok sem befoly�solt�k a m�k�d�s�t. Hab�r
+ a f�jlban szerepl� k�d f�gg�tt az azt k�r�l�lel� ciklust�l, a
+ <function>require</function> maga csak egyszer t�rt�nt meg.
+ </simpara>
+ </note>
<simpara>
L�sd m�g: <function>include</function>, <function>require_once</function>,
- <function>include_once</function>, <function>readfile</function>,
- �s <function>virtual</function>.
+ <function>include_once</function>, <function>eval</function>,
+ <function>file</function>, <function>readfile</function>,
+ <function>virtual</function> �s <link
+ linkend="ini.include-path">include_path</link>!
</simpara>
</sect1>
@@ -1121,54 +1095,139 @@
megadott f�jlt.
</simpara>
<simpara>
- Ha az "URL fopen wrapper"-ek be vannak kapcsolva (ami az
- alapbe�ll�t�s� helyzet), akkor az <function>include</function>
- haszn�latakor t�voli f�jlt is megadhatsz. L�sd
- a <link linkend="features.remote-files">T�voli f�jlok kezel�se</link>
- c�m� fejezetet �s az <function>fopen</function> f�ggv�nyt.
- </simpara>
+ Az al�bbiak igazak a <function>require</function>-ra is.
+ A <function>require</function> �s az <function>include</function>
+ megegyezik egym�ssal a hibakezel�s�t lesz�m�tva.
+ Az <function>include</function> nem fat�lis hib�t, <link
+ linkend="internal.e-warning">figyelmeztet�st</link> gener�l, a
+ <function>require</function> viszont <link linkend="internal.e-error">
+ fat�lis hib�t</link> jelez. Magyar�n, ahol az ig�nyelt f�jl neml�tekor
+ a fut�st meg kell szak�tani, aj�nlott a <function>require</function>.
+ Az <function>include</function> nem �gy viselkedik, a hib�t�l f�ggetlen�l
+ a szkript futtat�sa folytat�dik. Bizonyosodj meg, hogy a <link
+ linkend="ini.include-path">include_path</link> helyesen van be�ll�tva!
+ </simpara>
+ <simpara>
+ A f�jl beilleszt�se sor�n a megadott f�jl �r�kli az
+ <function>include</function> hely�n �rv�nyes <link
+ linkend="language.variables.scope">v�ltoz� hat�sk�rt</link>. B�rmely
+ v�ltoz�, amely azon a ponton el�rhet�, el�rhet� a beillesztett f�jlban is.
+ </simpara>
+ <para>
+ <example>
+ <title>Egyszer� <function>include</function> p�lda</title>
+ <programlisting role="php">
+<![CDATA[
+valtozok.php
+<?php
+
+$szin = 'z�ld';
+$gyumolcs = 'alma';
+
+?>
+
+teszt.php
+<?php
+
+echo "Egy $szin $gyumolcs"; // Egy
+
+include 'valtozok.php';
+
+echo "egy $szin $gyumolcs"; // Egy z�ld alma
+
+?>
+]]>
+ </programlisting>
+ </example>
+ </para>
<simpara>
- A m�k�d�sre vonatkoz�lag fontos megjegyezni, hogy ha egy
- f�jlt beilleszt�nk az <function>include</function>-dal vagy
- <function>require</function>-ral, akkor a c�lf�jl elej�n az elemz� kil�p
- a PHP m�db�l HTML m�dba, majd vissza�ll PHP m�dba a f�jl v�g�n.
- Ennek ok�n b�rmely beillesztend� f�jlban lev� PHP k�dot k�zre kell fogni
- egy <link linkend="language.basic-syntax.phpmode">�rv�nyes
- PHP kezd�- �s z�r�jel�l�ssel</link>.
+ F�ggv�ny belsej�ben a megadott f�jlban szerepl� k�d �gy fog viselkedni,
+ mintha az mag�ban a f�ggv�nyben szerepelt volna. Ez azt jelenti, hogy
+ a f�jl �r�kli a v�ltoz�k �rv�nyess�gi k�r�t.
</simpara>
-
<para>
- Ez t�rt�nik valah�nyszor az <function>include</function>-hoz
- �r a program, teh�t az <function>include</function>-ot kell haszn�lni
- egy ciklus belsej�ben k�l�nb�z� f�jlok beilleszt�s�re.
- <informalexample>
- <programlisting role="php">
+ <example>
+ <title>F�ggv�nyen bel�li beilleszt�s</title>
+ <programlisting role="php">
<![CDATA[
-$fileok = array ('elso.php', 'masodik.php', 'harmadik.php');
-for ($i = 0; $i < count($fileok); $i++) {
- include $files[$i];
+<?php
+
+function ize()
+{
+global $szin;
+
+ include 'valtozok.php';
+
+ echo "Egy $szin $gyumolcs";
}
+
+/* valtozok.php az ize() f�ggv�ny hat�k�r��be esik, *
+ * �gy a $gyumolcs nem el�rhet� a f�ggv�nyen k�v�l. *
+ * A $szin igen, mivel glob�lisnak lett deklar�lva. */
+
+ize(); // Egy z�ld alma
+echo "Egy $szin $gyumolcs"; // Egy z�ld
+
+?>
]]>
</programlisting>
- </informalexample>
+ </example>
</para>
+ <simpara>
+ Ha egy f�jlt beilleszt�nk az <function>include</function>-dal
+ vagy <function>require</function>-ral, akkor a c�lf�jl elej�n
+ az elemz� kil�p a PHP m�db�l HTML m�dba, majd vissza�ll PHP
+ m�dba a f�jl v�g�n. Ennek ok�n b�rmely beillesztend� f�jlban
+ lev� PHP k�dot k�zre kell fogni egy <link
+ linkend="language.basic-syntax.phpmode">�rv�nyes PHP kezd�- �s
+ z�r�jel�l�ssel</link>.
+ </simpara>
+ <simpara>
+ Ha az <function>include</function>-dal h�vott f�jl HTTP-n
+ kereszt�l �rkezik az "fopen wrapper"-ek haszn�lat�val, �s
+ a c�lszerver PHP k�dk�nt feldolgozza a f�jlt, akkor
+ �tadhatsz v�ltoz�kat a h�vott f�jlnak HTTP GET lek�r�si
+ form�ban. Ez nem teljesen ugyanaz, mintha a <function>include</function>-dal
+ h�vott f�jl �r�k�ln� a helyi v�ltoz�kat, mivel a szkript
+ val�j�ban a t�voli szerveren fut le, �s a fut�si eredm�ny
+ ker�l be�p�t�sre a helyi szkriptbe.
+ </simpara>
<para>
- Az <function>include</function> abban k�l�nb�zik a
- <function>require</function>-t�l, hogy m�g az
- <function>include</function> minden alkalommal
- ki�rt�kel�dik, ah�nyszor el�fordul (�s csak akkor,
- ha �ppen oda ker�l a vez�rl�s), addig a
- <function>require</function> az els� alkalommal
- helyettes�ti a f�jlt, ak�r ki�rt�kel�dik
- a tartalma, ak�r nem (p�ld�ul egy olyan
- <link linkend="control-structures.if">if</link>
- kifejez�sben, amely mindig hamis).
+ <example>
+ <title><function>include</function> HTTP-n kereszt�l</title>
+ <programlisting role="php">
+<![CDATA[
+/* Ezek a p�ld�k felt�telezik, hogy a szerver be van �ll�tva a .php *
+ * f�jlok feldolgoz�s�ra �s nincs be�ll�tva a .txt f�jlok feldolgoz�s�ra *
+ * A 'm�k�dik' azt jelenti, hogy az $ize �s $bigyo v�ltoz�k el�rhet�ek *
+ * a h�vott f�jlban. */
+
+// Nem m�k�dik: a file.txt nem ker�l feldolgoz�sra
+include ("http://szerver/file.txt?ize=1&bigyo=2");
+
+// Nem m�k�dik: egy 'file.php?ize=1&bigyo=2' nev� f�jlt keres a helyi g�pen
+include ("file.php?ize=1&bigyo=2");
+
+// M�k�dik
+include ("http://szerver/file.php?ize=1&bigyo=2");
+
+$ize = 1;
+$bigyo = 2;
+include ("file.txt"); /* M�k�dik */
+incluie ("file.php"); /* M�k�dik */
+]]>
+ </programlisting>
+ </example>
+ A kapcsolod� inform�ci�k�rt l�sd m�g: <link
+ linkend="features.remote-files">T�voli f�jlok el�r�se</link>,
+ <function>fopen</function> �s <function>file</function>
</para>
<para>
- Mivel az <function>include</function> k�l�nleges
- nyelvi elem, kapcsos z�r�jelekkel kell k�zrefogni,
- ha egy felt�teles utas�t�son bel�l szerepel.
- <informalexample>
+ Mivel az <function>include</function> �s a <function>require</function>
+ k�l�nleges nyelvi elem, kapcsos z�r�jelekkel kell k�zrefogni, ha egy
+ felt�teles utas�t�son bel�l szerepel.
+ <example>
+ <title><function>include</function> felt�teles blokkon bel�l</title>
<programlisting role="php">
<![CDATA[
/*Ez NEM J�, �s nem a v�rt eredm�nyt adja */
@@ -1187,151 +1246,70 @@
}
]]>
</programlisting>
- </informalexample>
+ </example>
</para>
+
<simpara>
- A PHP 3-ban, �s a PHP 4-ben is lehet�s�g van arra, hogy
- <literal>return</literal> utas�t�st helyezz el egy
+ <literal>return</literal> utas�t�st lehet elhelyezni egy
<function>include</function>-olt f�jlban annak �rdek�ben,
hogy a ki�rt�kel�s ott befejez�dj�n, �s visszaadjon egy
- �rt�ket a h�v� szkriptnek. B�r vannak apr�bb
- k�l�nbs�gek. El�sz�r is a PHP 3 csak f�ggv�nyblokkban enged�lyezi a
- <literal>return</literal> el�fordul�s�t, amely csak az adott
- f�ggv�nyb�l - nem pedig az eg�sz f�jlb�l - t�rt�n� visszat�r�st
- jel�li. A PHP 4-ben ez a megszor�t�s nincs, vagyis a PHP 4
- megengedi a visszat�r�si �rt�keket <function>include</function>-olt
- f�jlokb�l. A visszat�r�si �rt�ket ugyan�gy haszn�lhatod,
- mint egy k�z�ns�ges f�ggv�nyn�l. Ez a PHP 3-ban
- �rtelmez�si hib�t (parse error) okoz.
+ �rt�ket a h�v� szkriptnek. A visszat�r�si �rt�ket ugyan�gy
+ haszn�lhatod, mint egy k�z�ns�ges f�ggv�nyn�l.
</simpara>
- <example>
- <title>Az <function>include</function> PHP 3-ban �s PHP 4-ben</title>
- <para>
- Tegy�k fel, hogy a k�vetkez� f�jl (melynek neve:
- <filename>test.php</filename>) abban a k�nyvt�rban van,
- mint a f� f�jl:
- <programlisting role="php">
+ <note>
+ <simpara>
+ PHP 3, a return nem jelenhet meg f�ggv�ny blokkon k�v�l m�shol,
+ amely esetben a f�ggv�nyb� lt�rt�n� visszat�r�st jel�li.
+ </simpara>
+ </note>
+ <para>
+ <example>
+ <title>Az <function>include</function> �s a <function>return</function>
+utas�t�s</title>
+ <programlisting role="php">
<![CDATA[
+return.php
<?php
-echo "Return el�tt<br>\n";
-if (1) {
- return 27;
-}
-echo "Return ut�n<br>\n";
+
+$var = 'PHP';
+
+return $var;
+
?>
-]]>
- </programlisting>
- </para>
- <para>
- �s legyen a f� f�jl (<filename>main.php</filename>)
- tartalma az al�bbi:
- <programlisting role="php">
-<![CDATA[
+
+noreturn.php
<?php
-$visszteresi_ertek = include ('test.inc');
-echo "A f�jl ezt adta vissza: '$visszteresi_ertek'<br>\n";
+
+$var = 'PHP';
+
?>
-]]>
- </programlisting>
- </para>
- <para>
- Ha a <filename>main.php</filename> f�jlt PHP 3-b�l h�vjuk meg,
- �rtelmez�si hib�t (parse error) kapunk a 2. sorban; nem lehet
- egy <function>include</function>-nak az �rt�k�t venni.
- PHP 4-ben az eredm�ny pedig:
- <screen>
-Return el�tt
-A f�jl ezt adta vissza: '27'
- </screen>
- </para>
- <para>
- Most pedig v�ltoztassuk meg a <filename>main.php</filename> f�jlt
- az al�bbira:
- <programlisting role="php">
-<![CDATA[
+
+testreturns.php
<?php
-include ('test.inc');
-echo "Visszt�rt�nk a main.php-ba<br>\n";
-?>
-]]>
- </programlisting>
- </para>
- <para>
- PHP 4-ben a kimenet:
- <screen>
-Return el�tt
-Visszt�rt�nk a main.php-ba
- </screen>
- A PHP 3 pedig ezt fogja mondani:
- <screen>
-Return el�tt
-27Visszt�rt�nk a main.php-ba
-Parse error: parse error in /home/torben/public_html/phptest/main.php on line 5
- </screen>
- </para>
- <para>
- A fenti hiba annak a k�vetkezm�nye, hogy a
- <literal>return</literal> egy kapcsos z�r�jelezett r�szben
- van, amely nem f�ggv�nyen bel�l tal�lhat� a
- <filename>test.php</filename> f�jlban. Ha a return-t
- kivessz�k a blokkb�l, a kimenet ilyen lesz:
- <screen>
-Return el�tt
-27Visszt�rt�nk a main.php-ba
- </screen>
- </para>
- <para>
- A nem k�v�nt '27' az�rt van ott, mert a PHP 3 nem t�mogatja
- az ilyen, f�jlokb�l val� visszat�r�si �rt�keket.
- </para>
- </example>
- <simpara>
- Ha egy f�jlt <function>include</function>-dal t�ltesz be,
- az �ltala tartalmazott a k�d azt az �rv�nyess�gi k�rt �r�kli,
- amely az <function>include</function> h�v�s sor�ra vonatkozott.
- B�rmilyen v�ltoz�, ami azon a soron el�rhet�, rendelkez�sre
- �ll a h�vott f�jlban. Ha az <function>include</function>
- egy f�ggv�nyben tal�lhat� a h�v� f�jlban, akkor a h�vott
- f�jl teljes k�dja �gy fog viselkedni, mintha az a f�ggv�nyen
- bel�l lenne �rva.
- </simpara>
- <para>
- Ha az <function>include</function>-dal h�vott f�jl HTTP-n
- kereszt�l �rkezik az "fopen wrapper"-ek haszn�lat�val, �s
- a c�lszerver PHP k�dk�nt feldolgozza a f�jlt, akkor
- �tadhatsz v�ltoz�kat a h�vott f�jlnak HTTP GET lek�r�si
- form�ban. Ez nem ugyanaz, mintha a <function>include</function>-dal
- h�vott f�jl �r�k�ln� a helyi v�ltoz�kat, mivel a szkript
- val�j�ban a t�voli szerveren fut le, �s a fut�si eredm�ny
- ker�l be�p�t�sre a helyi szkriptbe.
- <informalexample>
- <programlisting role="php">
-<![CDATA[
-/* Ezek a p�ld�k felt�telezik, hogy a szerver be van �ll�tva a .php
- * f�jlok feldolgoz�s�ra �s nincs be�ll�tva a .txt f�jlok feldolgoz�s�ra
- * A 'm�k�dik' azt jelenti, hogy az $elsovaltozo �s $masodikvaltozo
- * v�ltoz�k el�rhet�ek a beh�vott f�jlban. */
-
-/* Nem m�k�dik: a file.txt nem ker�l feldolgoz�sra */
-include ("http://szerver/file.txt?elsovaltozo=1&masodikvaltozo=2");
-
-/* Nem m�k�dik: egy 'file.php?elsovaltozo=1&masodikvaltozo=2'
- * nev� f�jlt keres a helyi rendszeren */
-include ("file.php?elsovaltozo=1&masodikvaltozo=2");
+$ize = include 'return.php';
-/* M�k�dik */
-include ("http://szerver/file.php?elsovaltozo=1&masodikvaltozo=2");
+echo $ize; // ki�rja: 'PHP'
-$elsovaltozo = 1;
-$masodikvaltozo = 2;
-include ("file.txt"); /* M�k�dik */
-incluie ("file.php"); /* M�k�dik */
+$bigyo = include 'noreturn.php';
+
+echo $bigyo; // ki�rja: 1
+
+?>
]]>
- </programlisting>
- </informalexample>
+ </programlisting>
+ </example>
</para>
<simpara>
+ <literal>$bigyo</literal> �rt�ke <literal>1</literal>, mert a beilleszt�s
+ sikeres volt. Figyeld meg a k�l�nbs�get a k�t fenti p�lda k�z�tt. Az els�
+ a <function>return</function> seg�ts�g�vel visszaadott egy �rt�ket, a m�sodik
+ nem. L�tezik m�g n�h�ny egy�b m�dja is v�ltoz�k beemel�s�nek a
+ <function>fopen</function>, <function>file</function> seg�ts�g�vel, vagy
+ <function>include</function> �s
+ <link linkend="ref.outcontrol">Kimenet szab�lyz� f�ggv�nyek</link> egy�ttes
+ haszn�lat�val.
+ </simpara>
+ <simpara>
L�sd m�g: <function>require</function>, <function>require_once</function>,
<function>include_once</function>, <function>readfile</function>
�s <function>virtual</function>!
@@ -1341,155 +1319,38 @@
<sect1 id="function.require-once">
<title><function>require_once</function></title>
<para>
- A <function>require_once</function> hely�n behelyettes�t�sre ker�l
- a megadott f�jl pont �gy, mint a C preprocesszor
- <literal>#include</literal>-ja, �s ebben az �rtelemben
- hasonl� a <function>require</function>-h�z. A f� k�l�nbs�g
- az, hogy a <function>require_once</function> gondoskodik
- arr�l, hogy a k�d csak egyszer ker�lj�n beilleszt�sre,
- �gy megv�d a v�ltoz�k vagy f�ggv�nyek �jradeklar�s�b�l
- ered� hib�kt�l.
+ Az <function>require_once</function> beilleszt �s feldolgoz
+ f�jlokat a program fut�sa k�zben. Ez hasonl� az
+ <function>require</function> m�k�d�s�hez, azzal a fontos k�l�nbs�ggel,
+ hogy ha a m�r egyszer beilleszt�sre ker�lt k�dot a PHP nem pr�b�lja meg
+ ism�t bet�lteni.
</para>
<para>
- P�ld�ban legyen a k�vetkez� k�t f�jl: <literal>eszkozok.php</literal> �s
<literal>izelib.php</literal>
- <example>
- <title>eszkozok.php</title>
- <programlisting role="php">
-<![CDATA[
-<?php
-define("PHPVERSION", floor(phpversion()));
-echo "A GLOB�LIS V�LTOZ�K J�K\n";
-function joTea()
-{
- return "Az Oolong tea j� �z�!";
-}
-?>
-]]>
- </programlisting>
- </example>
- <example>
- <title>izelib.php</title>
- <programlisting role="php">
-<![CDATA[
-<?php
-require ("eszkozok.php");
-function valtozoMegjelenites($valtozo)
-{
- if (PHPVERSION == 4) {
- print_r($valtozo);
- } else {
- var_dump($valtozo);
- }
-}
-
-// m�s f�ggv�nyek ...
-?>
-]]>
- </programlisting>
- </example>
- Valamint <literal>require_hiba_bemutatasa.php</literal> nev� szkript:
- <example>
- <title>require_hiba_bemutatasa.php</title>
- <programlisting role="php">
-<![CDATA[
-<?php
-require("izelib.php");
-/* A k�vetkez� sor hib�t gener�l */
-require("eszkozok.php");
-
-$ize = array("1",array("komplex","t�mb"));
-echo "Ez bet�lti az eszkozok.php f�jlt, amit m�r\n";
-echo "egyszer az izelib.php is bet�lt�tt.\n";
-echo "joTea futtat�sa: ".joTea()."\n";
-echo "ize ki�r�sa: \n";
-valtozoMegjelenites($ize);
-?>
-]]>
- </programlisting>
- </example>
- Ez ut�bbi program eredm�nye (PHP 4.01pl2-t haszn�lva):
- <informalexample>
- <programlisting>
-<![CDATA[
-A GLOB�LIS V�LTOZ�K J�K
-A GLOB�LIS V�LTOZ�K J�K
-
-Fatal error: Cannot redeclare joTea() in eszkozok.php on line 5
-]]>
- </programlisting>
- </informalexample>
- Az <literal>izelib.php</literal> �s
- <literal>require_hiba_bemutatasa</literal> f�jlok m�dos�t�s�val - a
- <function>require_once</function> haszn�lat�val - a probl�ma
- megold�dik. �tnevezve <literal>require_hiba_elkerulese.php</literal>-re
- az el�z�t:
- <example>
- <title>iezlib.php (jav�t�s)</title>
- <programlisting role="php">
-<![CDATA[
-...
-require_once("eszkozok.php");
-function valtozoMegjelenites($valtozo) {
-...
-]]>
- </programlisting>
- </example>
- <example>
- <title>require_hiba_elkerulese.php</title>
- <programlisting role="php">
-<![CDATA[
-...
-require_once("izelib.php");
-require_once("eszkozok.php");
-$ize = array("1",array("komplex","t�mb"));
-...
-]]>
- </programlisting>
- </example>
- Ez ut�bbit futtatva a kimenet (PHP 4.0.1pl2-t haszn�lva):
- <informalexample>
- <programlisting>
-<![CDATA[
-A GLOB�LIS V�LTOZ�K J�K
-Ez bet�lti az eszkozok.php f�jlt, amit m�r
-egyszer az izelib.php is bet�lt�tt.
-joTea futtat�sa: Az Oolong tea j� �z�!
-ize ki�r�sa:
-Array
-(
- [0] => 1
- [1] => Array
- (
- [0] => komplex
- [1] => t�mb
- )
-
-)
-]]>
- </programlisting>
- </informalexample>
- </para>
- <para>
- Vedd �szre, hogy a C preprocesszor
- <literal>#include</literal>-j�hoz hasonl�an ez is "ford�t�s id�ben"
- v�gzi a beilleszt�seket, azaz a szkript beolvas�sa sor�n �s futtat�sa el�tt.
- Ez�rt nem haszn�lhat� a szkript olyan r�szeire, amelyek fut�s k�zben
- dinamikusan ker�lnek be. Erre a c�lra az
- <function>include_once</function> vagy az <function>include</function>
- haszn�lhat�.
+ A <function>require_once</function> haszn�latos azokban az esetekben,
+ amikor ugyanaz a f�jl esetleg t�bbsz�r ker�lhet beilleszt�sre
+ a szkript fut�sa sor�n, de biztos�tani kell, hogy ez t�nylegesen csak
+ egyszer t�rt�njen meg, �gy megel�zve a f�ggv�nyek
+ �jradefini�l�s�t, v�ltoz�k �rt�k�nek �t�ll�t�s�t, stb.
</para>
<para>
Tov�bbi p�ld�khoz az <function>require_once</function> �s
<function>include_once</function> haszn�lat�hoz n�zd meg a PEAR k�dot,
ami a legfrissebb PHP disztrib�ci�kban megtal�lhat�.
</para>
+ <note>
+ <para>
+ A <function>require_once</function> PHP 4.0.1pl2 verzi�ban ker�lt
+ a nyelvbe.
+ </para>
+ </note>
<para>
- L�sd m�g: <function>require</function>,
- <function>include</function>, <function>include_once</function>,
+ L�sd m�g: <function>include</function>, <function>require</function>,
+ <function>include_once</function>,
<function>get_required_files</function>,
- <function>get_included_files</function>, <function>readfile</function>,
- �s <function>virtual</function>.
+ <function>get_included_files</function>, <function>readfile</function>
+ �s <function>virtual</function>!
</para>
+
</sect1>
<sect1 id="function.include-once">
@@ -1502,25 +1363,26 @@
ism�t bet�lteni.
</para>
<para>
- Mint ahogy a <function>require_once</function> le�r�s�ban olvashat�,
- az <function>include_once</function> haszn�latos azokban az esetekben,
- amikor ugyanaz a f�jl esetleg t�bbsz�r beilleszt�sre ker�lhet
- a szkript fut�sa sor�n, �s biztos szeretn�l lenni benne, hogy
- ez csak egyszer t�rt�nik meg, �gy megel�zve a f�ggv�nyek
- �jradefini�l�s�t, v�ltoz�k �rt�k�nek �t�ll�t�s�t, stb.
+ Az <function>include_once</function> haszn�latos azokban az esetekben,
+ amikor ugyanaz a f�jl esetleg t�bbsz�r ker�lhet beilleszt�sre
+ a szkript fut�sa sor�n, de biztos�tani kell, hogy ez t�nylegesen csak
+ egyszer t�rt�njen meg, �gy megel�zve a f�ggv�nyek �jradefini�l�s�t,
+ v�ltoz�k �rt�k�nek �t�ll�t�s�t, stb.
</para>
<para>
Tov�bbi p�ld�khoz az <function>require_once</function> �s
<function>include_once</function> haszn�lat�hoz n�zd meg a PEAR k�dot,
ami a legfrissebb PHP disztrib�ci�kban megtal�lhat�.
</para>
- <para>
+ <note>
+ <para>
Az <function>include_once</function> PHP 4.0.1pl2 verzi�ban ker�lt
a nyelvbe.
- </para>
+ </para>
+ </note>
<para>
- L�sd m�g: <function>require</function>,
- <function>include</function>, <function>require_once</function>,
+ L�sd m�g: <function>include</function>,
+ <function>require</function>, <function>require_once</function>,
<function>get_required_files</function>,
<function>get_included_files</function>, <function>readfile</function>
�s <function>virtual</function>!