Index: phpdoc/hu/language/constants.xml
diff -u phpdoc/hu/language/constants.xml:1.11 phpdoc/hu/language/constants.xml:1.12
--- phpdoc/hu/language/constants.xml:1.11 Thu Dec 27 19:45:25 2001
+++ phpdoc/hu/language/constants.xml Sat Dec 29 18:57:12 2001
@@ -1,13 +1,13 @@
-
+
Konstansok
A konstans egy egyszerű érték azonosítója (neve). Mint ahogy
- az elnevezése is mutatja, a program futása során nem változtatható
+ az elnevezése is mutatja, a program futása során nem változik
meg az értéke (a mágikus __FILE__ és
__LINE__ konstansok az egyedüli kivételek
ez alól). A konstansok alapesetben érzékenyek a kis- és nagybetűs
@@ -25,9 +25,9 @@
- Ebben az esetben egy betű lehet angol betű karakter
- a-z-ig és A-Z-ig, valamint az ASCII karakterek
- 127-es kódtól 255-ös kódig (0x7f-0xff).
+ Ebben az esetben egy betű lehet az angol abc egy betűje
+ a-z-ig és A-Z-ig, valamint a 127-től 255-ig terjedő
+ (0x7f-0xff) ASCII kódú karakterek.
@@ -38,8 +38,8 @@
Szintakszis
Konstanst a define függvénnyel
- tudsz létrehozni. Miután definiáltad, később nem
- tudod megváltoztatni az értékét, vagy törölni.
+ lehet létrehozni. Definiálása után később nem
+ lehet törölni vagy megváltoztatni az értékét.
Csak skaláris adat (boolean, integer,
@@ -47,13 +47,13 @@
egy konstans tartalma.
- A konstans értékét a nevének megadásával kaphatod meg.
+ A konstans értékére a nevének megadásával lehet hivatkozni.
A változókkal ellentétben nem szabad
$ jelet tenned a konstand neve elé.
- Használhatod még a constant függvényt is,
+ Használható még a constant függvényt is,
ha például a konstans nevét egy változó adja.
A get_defined_constants függvénnyel
- tudod a definiált konstansok listáját megkapni.
+ lehet a definiált konstansok listáját megkapni.
@@ -64,35 +64,35 @@
Ha egy definiálatlan konstanst próbálsz meg használni, a PHP
- úgy veszi, hogy a konstans nevét veszi karaktersorozatként.
- Egy
+ a konstans nevét veszi karaktersorozatként értékül.
+ Ilyen esetekben egy
notice szintű hiba
- keletkezik, ha ez történik. A defined
- függvényt használhatod, ha konstans létezését szeretnéd vizsgálni.
+ keletkezik. A defined
+ függvény segítségével vizsgálható a konstans létezése.
A következők a fontosabb különbségek a változókhoz képest:
- A konstansok nevét nem kell dollár jellel $ kezdeni
+ A konstansok nevét nem kell dollár jellel $ kezdeni.
- A konstansokat akárhol definiálhatod, és akárhol elérheted, a
- változók környezeti korlátozásaitól függetlenül
+ A konstansokat akárhol definiálhatók, és akárhonnan elérhetők, a
+ változók környezeti korlátozásaitól függetlenül.
- A konstansokat nem módosíthatóak, és nem törölhetőek, miután
- egyszer beállítod az értéküket
+ A konstansok nem módosíthatóak, és nem törölhetőek, miután
+ egyszer létrehozták azokat.
- A konstansok csak skaláris értékeket tartalmazhatnak
+ A konstansok csak skaláris értékeket tartalmazhatnak.
@@ -118,7 +118,7 @@
Előre definiált konstansok
- Az mindig elérhető előre definiált konstansok:
+ A mindig elérhető, előre definiált konstansok:
@@ -137,9 +137,9 @@
__LINE__ (független a kis- vagy nagybetűs irásmódtól)
- Az aktuális szkripten belüli sor száma. Ha includdal,
- vagy require-ral behívott fájlra alkalmazzuk, az
- include-olt fájlon belüli pozíciót kapjuk.
+ Az aktuális szkripten belüli sor száma. Ha include-dal,
+ vagy require-ral behívott fájlra alkalmazzuk, akkor azon a
+ fájlon belüli pozíciót kapjuk.
@@ -229,11 +229,9 @@
Valami történt, ami lehet, hogy hiba, de lehet,
- hogy nem :) A végrehajtás folytatódik. [lehet,
- hogy formázza a vinyódat, lehet, hogy nem :)]
- Ilyenre példa egy idézőjelek nélküli string,
- mint tömbindex, vagy egy változó elérése,
- amelynek még nem adtunk értéket.
+ hogy nem :) A végrehajtás folytatódik. Ilyenre
+ példa egy idézőjelek nélküli sztring, mint tömbindex,
+ vagy egy változó elérése, amelynek még nem adtunk értéket.
Index: phpdoc/hu/language/expressions.xml
diff -u phpdoc/hu/language/expressions.xml:1.12 phpdoc/hu/language/expressions.xml:1.13
--- phpdoc/hu/language/expressions.xml:1.12 Thu Dec 27 19:59:26 2001
+++ phpdoc/hu/language/expressions.xml Sat Dec 29 18:57:12 2001
@@ -1,31 +1,29 @@
-
-
+
+
Kifejezések
- A kifejezések a PHP legfontosabb építőkövei. A PHP-ban minden,
- amit leírsz, egy kifejezés. A lehető legegyszerűbb és még
- pontos definíciója a kifejezésnek: "valami, aminek
- értéke van".
+ A kifejezések a PHP legfontosabb építőkövei. A PHP-ban majdnem minden,
+ amit leírsz, egy kifejezés. A lehető legegyszerűbb és mégis
+ pontos definíciója a kifejezésnek: "mindaz, amelynek értéke van".
- A kifejezések legalapvetőbb formái a konstansok és változók.
- Amikor beírod, hogy "$a = 5", az '5'-öt az $a változóhoz
- rendeled. Az '5'-nek nyilván 5 az értéke, vagy más szavakkal
- az '5' egy olyan kifejezés, melynek értéke 5 (itt az '5'
- egy egész konstans).
+ A kifejezések legalapvetőbb formái az állandók és a változók.
+ Az "$a = 5" az '5'-öt az $a változóhoz rendeli.
+ Az '5'-nek nyilván 5 az értéke, vagyis más szavakkal
+ az '5' olyan kifejezés, melynek értéke 5 (itt az '5'
+ egy egész típusú állandó).
- Ez után a hozzárendelés után azt várod, hogy $a értéke 5 legyen,
- sőt, ha azt írod, hogy $b = $a, azt várod, hogy az eredmény
- legyen azonos azzal, mintha $b = 5-öt írtál volna. Más
- szavakkal az $a egy kifejezés, melynek értéke 5. Ha
- minden jól megy, pontosan ez fog történni.
+ Ez után a hozzárendelés után $a értéke 5 kell legyen,
+ sőt, $b = $a esetén az eredménynek azonosnak kell lennie azzal,
+ mint $b = 5 esetén. Másképp megfogalmazva az $a olyan kifejezés, amelynek értéke 5.
+ Ha minden jól megy, pontosan ez fog történni.
@@ -44,68 +42,67 @@
- Feltéve, hogy nem idegen tőled a függvények koncepciója
- (ha nem, akkor olvasd el a függvényekről szóló fejezetet),
- azt várnád, hogy $c = foo() lényegében
- azonos $c = 5 beírásával és igazad is van.
- A függvények olyan kifejezések, amiknek az értéke a
+ Megelőlegezzük ,hogy nem idegen Tőled a függvények koncepciója -
+ ha nem így lenne, akkor olvasd el a függvényekről szóló fejezetet.
+ Amint az elvárható, a $c = foo() lényegében
+ azonos $c = 5 beírásával.
+ A függvények olyan kifejezések, amelyeknek az értéke a
visszatérési értékük. Mivel foo() 5-tel tér vissza, a
- 'foo()' kifejezés értéke 5. Általában a függvényeket
- nem arra használjuk, hogy egy bedrótozott számmal
- térjenek vissza, hanem azért, hogy valamit kiszámoljanak.
+ 'foo()' kifejezés értéke 5. Általában a függvények nem arra
+ használatosak, hogy egy bedrótozott számmal térjenek vissza,
+ hanem valamilyen számolt származtatott értékkel.
Természetesen a változóknak a PHP-ben nem kell egésznek
lenniük, és nagyon gyakran nem is azok. A PHP három féle
- skalártípust támogat: egész, lebegőpontos és string
+ skalártípust támogat: egész, lebegőpontos és sztring
értékeket (skalárnak az számít, amit nem lehet kisebb
- darabokra bontani, nem úgy, mint a tömböket, például).
+ darabokra bontani, eltérően - például - a tömböktől).
A PHP két nem skalár típust is támogat: a tömb és
objektum típust. Mindegyikükhöz lehet értéket rendelni,
és mindegyikük lehet egy függvény visszatérési értéke.
- Eddig, a PHP/FI 2 használói nem találkoztak semmi különössel.
- Mindamellett a PHP továbbviszi a kifejezéseket, úgy mint
+ Eddig a PHP/FI 2 használói nem találkoztak semmi különössel.
+ Mindamellett a PHP továbbfejleszti a kifejezés fogalmát, ahogy
azt sok hasonló nyelv teszi. A PHP egy kifejezés-orientált
- nyelv, olyan szempontból, hogy majdnem minden kifejezés.
- Tekintsük a példát, amivel foglalkoztunk, '$a = 5'. Látható,
- hogy két értéket hívtunk meg, az egész konstans '5'-öt,
- és $a értékét, amit az 5 értékkel frissítettünk. De az az
- igazság, hogy még egy érték is van a kifejezésben, a
- hozzárendelés maga. A hozzárendelés maga kiértékeli az
- átadandó értéket, ebben az esetben az 5-öt. Gyakorlatilag
- ez azt jelenti, hogy '$a=5', eltekintve attól, hogy
- mit csinál, egy kifejezés, aminek az értéke 5. Ezért ha
- olyasmit írunk, hogy '$b=($a=5)', az olyasmi, mintha azt
- írtuk volna, hogy '$a=5; $b=5;' (a pontosvessző jelöli az
- állítás végét). Mivel a hozzárendelés jobbról balra történik,
- ez ír6ó zárójelek nélkül is: '$b=$a=5'.
+ nyelv, abból a szempontból, hogy majdnem minden kifejezés.
+ Tekintsük a példát, amivel eddig foglalkoztunk: '$a = 5'. Látható,
+ hogy két értéket szerepel benne: az egész konstans '5'
+ és $a értéke, amelyet az 5 értékkel frissítettünk. Az
+ igazság azonban az, hogy még egy érték is van a kifejezésben, a
+ magáé a hozzárendelésé. A hozzárendelés maga kiértékeli az
+ átadandó értéket, ebben az esetben az 5-öt. Ez azt jelenti
+ gyakorlatilag, hogy a '$a=5', a hatásától eltekintve egy kifejezés,
+ amelynek az értéke 5. Ha ezért olyasmit írunk, hogy '$b=($a=5)', akkor
+ az olyasmi, mintha '$a=5; $b=5;'-t írtunk volna (a pontosvessző jelöli
+ az állítás végét). Mivel a hozzárendelés jobbról balra történik,
+ ez írható zárójelek nélkül is: '$b=$a=5'.
- A kifejezés-orientáltság másik jó példája a pre- és
- postinkrementáció. A PHP/FI 2 használóinak és sok más
+ A kifejezés-orientáltság másik jó példája az elő- és
+ utónövekményes operátor. A PHP/FI 2 használóinak és sok más
nyelvet használónak ismerős lehet a változó++ és
- változó-- jelölés. Ezek az inkrementáló és dekrementáló
+ változó-- jelölés. Ezek az növelő és csökkentő
operátorok. A PHP/FI 2-ben a '$a++'-nek nincs értéke
(mert nem kifejezés), és ezért nem is lehet semmihez
hozzárendelni, vagy valamire használni. A PHP
kiterjesztette az inkrementálás/dekrementálás
lehetőségeit azzal, hogy ezeket is kifejezésekké
alakította, mint ahogyan a C nyelvben is megtették.
- A PHP-ben a C nyelvhez hasonlóan kétféle inkrementáció
- van: pre- és post. Mindkettő megnöveli a változó értékét,
+ A PHP-ben a C nyelvhez hasonlóan kétféle növekményes operátor
+ van: elő- és utó(növekményes). Mindkettő megnöveli a változó értékét,
tehát a változó szempontjából nézve nincs különbség,
- a kifejezés értékében annál inkább. A pre-inkrementáció,
- amit '++$változó'-ként írunk, a növelt értéket adja (A
- PHP először növeli a változót, majd kiértékeli, innen
- a 'pre-'). A post-inkrementáció '$változó++' az eredeti
- értéket adja (A PHP először kiértékeli, aztán növeli
- a változót, innen a 'post-'). [a dekrementációval ugyanez
- a helyzet, értelemszerűen]
+ a kifejezés értékében annál inkább. A '++$változó' formájú
+ előnövekményes a megnövelt értéket adja vissza. (A
+ PHP először növeli a változót, majd kiértékeli, innen jön az
+ 'elő'). A '$változó++' alakú utónövekményes a változó eredeti
+ értéket adja. (A PHP először kiértékeli, aztán növeli
+ a változót, innen jön az 'utó').
+ [A csökkentő operátorokkal értelemszerűen ugyanez a helyzet.]
@@ -121,27 +118,22 @@
Az utolsó példa, amivel itt foglalkozunk, a kombinált
- hozzárendelés-operátor kifejezés. [eredeti: combined
- operator-assignment fordícccsa le, aki akarja (tugggya)].
- Lehet, hogy már tudod, hogy ha $a-t eggyel szeretnéd
+ hozzárendelés-operátor kifejezés.
+ Már tudhatod, hogy ha $a-t eggyel szeretnéd
megnövelni, akkor egyszerűen írhatod, hogy '$a++' vagy
- '++$a'. [ha nem, akkor büntiből olvasd el ezt a fejezetet
- 10-szer eddig a pontig]. De mi van akkor, hogy ha
- nem eggyel, hanem 3-mal akarod megnövelni? Írhatod
- háromszor, hogy '$a++', de ez nem valami hatékony és
- üdvözítő megoldás. Egy sokkal jobb gyakorlat az
- '$a=$a+3'. Ez kiértékeli az $a plusz 3-at, és
- hozzárendeli az $a-hoz, aminek az lesz az eredménye,
- hogy $a megnő hárommal. De a PHP-ben, mint több más
- C-szerű nyelven egy rövidebb formában is írhatod
- [és mivel a programozó egyik fő tulajdonsága a
- lustaság, a türelmetlenség és az akaratosság
- mellett]: '$a+=3'. Ez pont azt jelenti, hogy
- "vedd $a értékét, és adjál hozzá hármat, és írd
+ '++$a'. Mi van akkor, hogy ha nem eggyel, hanem 3-mal kell
+ megnövelni? Lehet háromszor egymás után írni, hogy '$a++',
+ de ez nem valami hatékony és üdvözítő megoldás.
+ Sokkal jobb gyakorlat az '$a=$a+3' használata.
+ Ez kiértékeli az $a + 3-at, és hozzárendeli az $a-hoz, amelynek
+ az lesz a végső eredménye, hogy $a értéke megnő hárommal.
+ A PHP-ben - több más C-szerű nyelvhaz hasonlóan - ennél
+ rövidebb formában is megadható: '$a+=3'. Ez pontosan azt
+ jelenti, hogy "vedd $a értékét, és adjál hozzá hármat, és írd
vissza az eredményt $a-ba". Amellett, hogy rövidebb és
érthetőbb, még gyorsabb is. '$a+=3' értéke, mint
egy normál értékadásé a hozzárendelt érték. Ez
- persze NEM 3, hanem $a plusz 3 (hiszen ezt az
+ persze NEM 3, hanem $a + 3 (hiszen ezt az
értéket rendeltük $a-hoz). Az összes többi kétoperandusú
operátort lehet ilyenformán hozzárendelő-operátorként
használni, például '$a-=5' (kivon 5-öt $a-ból),
@@ -149,8 +141,8 @@
- Van még egy kifejezés, ami elég különösnek tűnhet,
- hacsak nem láttad más nyelvekben, a háromoperandusú
+ Létezik még egy kifejezés, amely elég különösnek tűnhet,
+ hacsak nem láttad már más nyelvekben: a háromoperandusú
feltételes operátor:
@@ -161,21 +153,21 @@
- Értéke: ha az első kifejezés értéke igaz (nem nulla),
+ Értéke: ha az első kifejezés értéke &true;(nem nulla),
akkor a második részkifejezés, egyébként a harmadik
részkifejezés. Egy segítő példa:
-
+
+]]>
-
+
Ez megegyezik az alábbi kóddal:
-
+
- [Vigyázat!] Az alábbi példa segíthet a pre- és
- posztinkrementálás, és a kifejezések jobb megértésében:
+ Az alábbi példa segíthet az elő- és utónövekményes illetve
+ csökkentő operátorok és kifejezéseik jobb megértésében:
@@ -196,12 +188,13 @@
{
return $i*2;
}
+
$b = $a = 5; /*ötöt rendelünk $a és $b változókhoz */
-$c = $a++; /* post-inkrementálás, $c 5 lesz, mert
+$c = $a++; /* utónövekményes, $c 5 lesz, mert
először $a kiértékelődik, csak aztán nő */
-$e = $d = ++$b; /* pre-inkrementálás, $b növelt értéke (6)
+$e = $d = ++$b; /* előnövekményes, $b növelt értéke (6)
adódik tovább $d-nek és $e-nek */
/* itt $d és $e hat */
@@ -221,13 +214,12 @@
A fejezet elején azt ígértük, hogy leírjuk a különböző
- utasítás-típusokat, és ahogy reméljük, a kifejezések
- lehetnek állítások. De nem minden utasítás állítás.
- Így utasítás, ami 'kif' ';', vagyis egy kifejezés,
- amit pontosvessző követ. A '$b=$a=5;'-ben $a=5
+ utasítás-típusokat, és ígéretnek megfelelően a kifejezések
+ lehetnek állítások. Nem minden kifejezés állítás azonban, mert
+ utasítás, amely illeszkedik 'kif' ';' mintára, vagyis a
+ pontosvesszővel folytatodó kifejezés. A '$b=$a=5;'-ben $a=5
érvényes kifejezés, de nem érvényes utasítás önmagában.
- A teljes '$b=$a=5;' már igen. [Gábor elmondta nekem, hogy:
- A lényeg, hogy az $a=5 nem utasítás, mivel nem követi ;]
+ A teljes '$b=$a=5;' már igen.
@@ -238,7 +230,7 @@
A &true; és &false; konstansok (nevük nem függ a kis-
és nagybetűs írásmódtól) a PHP két lehetséges logikai
értékei. Amikor szükséges, a kifejezések automatikusan
- logikai értékké alakulnak. Lásd a
+ logikai értékké alakulnak. Lásd a
típuskonverziókról
szóló fejezetet további részletekért.
@@ -246,14 +238,13 @@
A PHP a kifejezések egy teljes és hatékony megvalósítását
biztosítja, és teljes dokumentációja meghaladja e kézikönyv
- kereteit. A fenti példák rávilágítanak, hogy milyen állatfaj
- a kifejezés és hogyan kell létrehozni hasznos kifejezéseket.
- A kézikönyv hátralevő részében ahol azt írjuk, hogy
- expr akkor egy érvényes
- PHP kifejezést értünk.
+ kereteit. A fenti példák rávilágítanak, hogy mi is az a
+ kifejezés, és hogyan kell létrehozni hasznos kifejezéseket.
+ A kézikönyv hátralevő részében az expr
+ alatt egy érvényes PHP kifejezést értünk.
-
+
-
+
Függvények
@@ -29,19 +29,21 @@
definíciók is.
- PHP 3-ban a függvényeket definiálnod kell használatuk előtt.
- Nincs ilyen megkötés PHP 4-ben.
+ PHP 3-ban a függvényeket definiálni kell, mielőtt hivatkozás történik rájuk
+ (függvényhívás előtt).
+ PHP 4-ben nincs ez a megkötés.
- A PHP nem támogatja a függvények polimorfizmusát, a függvényeket
- nem tudod undefiniálni vagy újradefiniálni a már definiált függvényeket.
+ A PHP nem támogatja a függvények polimorfizmusát (többalakúságát), a
+ függvényekdefiníciókat nem lehet megszüntetni vagy újradefiniálni egy
+ már definiált függvényeket.
A PHP 3 nem támogatja a változó számú függvényargumentumokat, bár
az argumentumok kezdőértéke támogatott. Lásd az
Argumentumok kezdőértéke
című részt bővebb információért.
- A PHP 4 mindkettőt támogatja. Lásd
+ A PHP 4 mindkettő lehetőséget támogatja. Lásd
a Változó számú függvényargumentumok
című részt és a func_num_args, func_get_arg és a
func_get_args függvényeket részletesebb leírásért.
@@ -57,16 +59,16 @@
ami egy vesszővel határolt változó és/vagy konstanslista.
- A PHP támogatja az érték szerinti (ez az alapértelmezett),
- cím szerinti
- paraméterátadást, és az referenciakénti
+ paraméterátadást is, és az argumentumok kezdőértékét.
A változó hosszúságú argumentumlisták csak a PHP 4-ben jelentek meg.
Lásd a változó
hosszúságú argumentumlistákat és a func_num_args,
func_get_arg és a func_get_args
- függvényeket részletesebb leírásért. Hasonló hatás érhető el PHP 3-ban
- a függvénynek tömbargumentum átadásával:
+ függvényeket részletesebb leírásért. PHP 3-ban hasonló hatás érhető el
+ a függvénynek tömb típusú változó paraméterként történő átadásával:
- Argumentumok cím szerinti átadása
+ Referencia szerinti argumentumfeltöltés
- Alapértelmezésben a függvényargumentumok érték szerint adódnak át
+ Alapértelmezésben a függvény paraméterei érték szerint adódnak át
(vagyis ha megváltoztatod a változót a függvényen belül, annak a
függvényen kívülre nincs hatása). Ha szeretnéd megengedni, hogy
- a függvény módosítsa az argumentumát, cím szerint kell átadnod.
+ a függvény módosítsa az átadott paramétereket, referencia szerint
+ kell átadni azokat.
- Ha azt szeretnéd, hogy egy függvényargumentum mindig cím szerint
- adódjon át, a függvénydefinícióban az argumentum neve elé tegyél
- egy & jelet.
+ Ha egy függvényargumentum mindig referencia szerint kell átadni,
+ akkor a függvénydefinícióban az argumentum neve elé egy &
+ jelet kell írni.
- Ha egy olyan függvénynél szeretnél paramétert cím szerint átadni,
- amely ezt nem teszi meg alapból, akkor a függvényhívásban az argumentum
- neve elé kell tenned egy & jelet:
-
+ Ha egy olyan függvénynél kell a paramétert referencia szerint átadni,
+ amely ezt nem teszi meg alapból, akkor a függvény hívásakor kell a
+ paraméterlistában a neve elé kell tenni az & jelet:
- Figyelj rá, hogy amikor kezdőértékeket definiálsz, a kezdőértékkel
- rendelkező paraméterek más argumentumoktól jobbra helyezkedjenek el;
- különben a dolgok nem úgy mennek majd, ahogy várnád [hanem úgy, ahogy írtad :)].
- Nézd meg a következő kódot:
+ Figyelj arra, hogy a kezdőértékkel rendelkező argumentumok más argumentumoktól
+ jobbra helyezkedjenek el; különben a dolgok nem úgy mennek majd, ahogy azt várnád
+ [hanem úgy, ahogy írtad :)]. Lásd a következő kódot:
@@ -237,7 +238,7 @@
A PHP 4 támogatja a változó hosszúságú argumentumlistát a
felhasználók által definiált függvényekben. Valóban nagyon
- egyszerű, a func_num_args,
+ egyszerű kezelni ezt a func_num_args,
func_get_arg és a
func_get_args függvényekkel.
@@ -255,7 +256,7 @@
Visszatérési értékek
- Az opcionális return állítást használva adhatnak vissza értéket
+ Az elhagyható return állítást használva adhatnak vissza értéket
a függvények. Bármely típus visszaadható, beleértve a listákat
és az objektumokat is.
@@ -269,16 +270,16 @@
]]>
-
-
-
- Több értéket nem tud visszaadni a függvény, de hasonló
- hatás érhető el úgy, ha listát adsz vissza.
[Ha nincs return, az utolsó kifejezés értékével tér viszsza a függvény]
+
+
+
+ Több értéket nem tud visszaadni a függvény, de hasonló
+ hatás érhető el ezen többszörös értékek listába szervezésével.
- Ha referenciát szeretnél függvény visszatérési
- értékeként adni, a & referencia operátort kell alkalmaznod
- a függvény deklarálásakor és a a visszatérési érték
- megadásakor is.
+ Ha a függvénynek referenciával kell visszatérnie, akkor az & referencia
+ operátort kell alkalmaznod a függvény deklarásákor és a a visszatérési érték
+ megadásakor is.
- Ez egy helytelenített függvény, és csak a PHP/FI2->PHP 3 konverter
- használhatja.
+ Ez egy ellenjavallt tulajdonság, és csak a PHP/FI2->PHP 3 konverter
+ használhatja.
Az old_function segítségével deklarált függvényeket
- nem hívhatod a PHP belső részéből. Más dolgok mellett ez azt jelenti, hogy
+ nem hívhatod a PHP belső részéből. Több minden mellett ez azt jelenti, hogy
nem használhatod olyan függvényekben, mint az
usort, array_walk, és a
register_shutdown_function.
- Meg tudod kerülni ezt a korlátozást úgy, hogy írsz egy keretfüggvényt,
- (normál PHP 3 formában) ami meghívja az old_function-t.
+ Ez a korlátozás megkerülhető egy olyan keretfüggvény megírásával (normál PHP 3 formában),
+ amely meghívja az old_function-t.
@@ -343,10 +343,10 @@
A PHP lehetővé teszi a függvényváltozók használatát.
- Ez azt jelenti, hogy ha egy változónév után zárójelek vannak, akkor
- a PHP keresni fogja az azonos nevű függvényt bármilyen értékről legyen
- is szó, és megpróbálja végrehajtani. Ezt többek között használhatod
- callback, függvénytáblák implementálására...
+ Ha egy változónevet kerek zárójelek követnek, akkor a PHP megkeresi
+ a változó értékével azonos nevű függvényt, és megpróbálja azt végrehajtani.
+ Ezt többek között visszahívandó (callback) függvények vagy függvénytáblák
+ implementálására használható.
Index: phpdoc/hu/language/operators.xml
diff -u phpdoc/hu/language/operators.xml:1.14 phpdoc/hu/language/operators.xml:1.15
--- phpdoc/hu/language/operators.xml:1.14 Thu Dec 27 19:38:16 2001
+++ phpdoc/hu/language/operators.xml Sat Dec 29 18:57:12 2001
@@ -1,6 +1,6 @@
-
+
Operátorok
@@ -66,9 +66,9 @@
Hozzárendelő operátorok
- Az alapvető hozzárendelő operátor az "=". Talán
- elsőre azt hiszed, hogy ez az "egyenlő valamivel"
- jele. De nem. Valójában azt jelenti, hogy a bal oldali
+ Az alapvető hozzárendelő operátor az "=". Elsőre
+ azt hihetnénk, hogy ez az "egyenlő valamivel"
+ jele. Valójában azt jelenti, hogy a bal oldali
operandus [ami az egyenlőségjel bal oldalán áll] a jobb
oldali kifejezést kapja értékül.
@@ -85,10 +85,10 @@
- Sőt, az alapvető hozzárendelő operátoron felül
- vannak "kombinált" operátorok is az összes
- kétoperandusú aritmetikai és stringoperátok számára,
- amik lehetővé teszik, hogy használjunk egy változót
+ Az alapvető hozzárendelő operátoron felül
+ vannak ún. "kombinált" operátorok is az összes
+ kétoperandusú aritmetikai és sztring operátorok számára,
+ amelyek lehetővé teszik, hogy használjunk egy változót
egy kifejezésben, majd rögtön be is állítsuk
a változót a kifejezés értékére. Például:
@@ -97,24 +97,23 @@
$a = 3;
$a += 5; // $a-t 8-ra állítja, mintha $a = $a + 5;-öt írtunk volna
$b = "Csecs ";
-$b .= "Emő"; // $b-t "Csecs Emő"-re állítja, egyenértékű: $b = $b . "Emő";
+$b .= "Emő"; // $b "Csecs Emő" lesz, egyenértékű párja: $b = $b . "Emő";
]]>
- A hozzárendelés az eredeti változót újba másolja (érték
- szerint), így az egyiken elvégzett változtatások a másikat
- nem érintik. Ezt néha fontos tudni, például ha mondjuk
- egy nagy tömböt kell másolni egy sokszor végrehajtott
- ciklus belsejében. A PHP 4 támogatja paraméterek érték
- szerinti átadását a $var =
- &$othervar; szintaxissal,
- de ez PHP 3-ban nem működik. A 'cím szerinti paraméterátadás'
- azt jelenti, hogy mindkét változó ugyanarra az adatra
- mutat, tehát semmi nem másolódik sehová [a változó címét
- kivéve...] További információkat a referenciákról a $var =&$othervar; szintaxisú
+ referencia szerinti érték hozzárendelést is,
+ de ez PHP 3-ban nem működik. A 'referencia szerinti értékhozzárendelés'
+ azt jelenti, hogy mindkét változó ugyanarra az adatra fog mutatni, és
+ nem történik meg a változó értékének lemásolása.
+ További információkat a referenciákról a Referenciák részletesen
című fejezetben olvashatsz.
@@ -124,8 +123,8 @@
Bitorientált operátorok
- A bitorientált operátorok teszik lehetővé, hogy egy
- egészen belül bizonyos biteket beállítsunk, vagy kimaszkoljunk.
+ A bitorientált operátorok teszik lehetővé, hogy egész típusú számokon
+ belül bizonyos biteket beállítsunk, vagy lefedjünk (maszkolás).
@@ -142,22 +141,22 @@
$a & $bÉs
- Azon helyeken, ahol mind $a-ban, mind $b-ben '1' volt,
- az eredményben '1' lesz, egyébként '0'.
+ Ott lesz '1' az eredményben, ahol $a és $b mindegyikében az a bit '1'-es.
+ Minden más biten '0'.$a | $bVagy
- Ott lesz '1' az eredmény, ahol vagy $a-ban, vagy $b-ben '1' állt.
+ Ott lesz '1' az eredményben, ahol $a és $b közül legalább az egyik azon a bitje '1'-es.
+ Minden más biten '0'.$a ^ $bKizáró vagy
- Ott lesz '1', ahol vagy $a-ban, vagy $b-ben '1' áll, de csak az
- egyikben. [Más közelítésben ott lesz '1' az eredmény, ahol különböző bitek
+ Ott lesz '1' az eredményben, ahol $a és $b közül csakis pontosan az egyikben '1' állt. Minden más biten '0'.
+ [Más közelítésben ott lesz '1' az eredményben, ahol különböző bitek
álltak $a-ban és $b-ben; megint más közelítésben $a azon bitjei
- invertálódnak, amely helyeken $b-ben '1' áll (=$b azon bitjeit
- invertálja, ahol $a-ban '1' áll)]
+ invertálódnak, amely helyeken $b-ben '1' áll]~ $a
@@ -167,15 +166,15 @@
$a << $bEltolás balra
- $a bitjeit $b-vel balra tolja (minden tolás 2-vel való
+ $a bitjeit $b számú bittel balra tolja (minden bitnyi eltolás 2-vel való
szorzást jelent [amíg el nem fogynak a bitek, utolsó helyen
előjelbit van ?!])$a >> $bEltolás jobbra
- $a bitjeit $b-vel jobbra tolja (minden tolás 2-vel való
- [egész!]osztást jelent [vigyázz! negatív számot inkább ne tolj jobbra!!])
+ $a bitjeit $b számú bittel jobbra tolja (minden bitnyi eltolás 2-vel való
+ egész-osztást jelent. [Vigyázz, negatív számot inkább ne tolj jobbra!])
@@ -204,55 +203,55 @@
$a == $bEgyenlő
- Igaz, ha $a és $b értéke egyenlő
+ Igaz (&true;), ha $a és $b értéke egyenlő$a === $bAzonos
- Igaz, ha $a és $b értéke egyenlő, és azonos típusúak (csak PHP 4)
+ Igaz (&true;), ha $a és $b értéke egyenlő, és azonos típusúak (csak PHP 4)$a != $bNem egyenlő
- Igaz, ha $a és $b értékei különbözők
+ Igaz (&true;), ha $a és $b értékei különbözők$a <> $bNem egyenlő
- Igaz, ha $a és $b értékei különbözők
+ Igaz (&true;), ha $a és $b értékei különbözők$a !== $bNem azonos
- Igaz, ha $a és $b értékei vagy típusai különbözők (csak PHP 4)
+ Igaz (&true;), ha $a és $b értékei vagy típusai különbözők (csak PHP 4)$a < $bKisebb mint
- Igaz, ha $a szigorúan kisebb, mint $b
+ Igaz (&true;), ha $a szigorúan kisebb, mint $b$a > $bNagyobb mint
- Igaz, ha $a szigorúan nagyobb, mint $b
+ Igaz (&true;), ha $a szigorúan nagyobb, mint $b$a <= $bKisebb, vagy egyenlő
- Igaz, ha $a kisebb, vagy egyenlő, mint $b
+ Igaz (&true;), ha $a kisebb, vagy egyenlő, mint $b$a >= $bNagyobb, vagy egyenlő
- Igaz, ha $a nagyobb, vagy egyenlő, mint $b
+ Igaz (&true;), ha $a nagyobb, vagy egyenlő, mint $b
- Van egy feltételes operátor is, a "?:" (ternális)
- operátor, ami úgy muködik, mint a C-ben és sok más nyelvben.
+ A feltételes "?:" (ternális)
+ operátor úgyanúgy működik, mint C-ben és sok más nyelvben.
@@ -263,9 +262,9 @@
A kifejezés kif2-t értékeli ki, ha
- kif1 igaznak bizonyul, és
+ kif1 igaznak bizonyul (&true;), és
kif3-at, ha
- kif1 hamis.
+ kif1 hamis (&false;).
@@ -274,8 +273,8 @@
Hibakezelő operátorok
- A PHP egy hibakezelő operátort támogat, az at (kukac) jelet (@).
- Ha egy PHP kifejezés elé írod, a kifejezés által esetlegesen
+ A PHP egy hibakezelő operátort támogat, az at jelet (@ - kukac).
+ PHP kifejezés elé írva a kifejezés által esetlegesen
generált hibaüzenete(ke)t figyelmen kívül hagyja a rendszer.
@@ -284,8 +283,8 @@
szolgáltatás be van kapcsolva, bármilyen a kifejezés által
generált hibaüzenet a $php_errormsg globális változóba kerül
tárolásra. Ez a változó minden hiba esetén felülíródik,
- ezért ellenőrizd minél hamarabb a kifejezést követően
- ha használható információt szeretnél kapni.
+ ezért használható információk kinyerése érdekében a kifejezést
+ követően ezt minél hamarabb ellenőrizni kell.
@@ -307,27 +306,27 @@
- A @ operátor csak kifejezésekre működik. Egy egyszerű ökölszabály,
- hogy ha valaminek az értékét tudod venni, akkor az elé a @
- operátor is oda tehető. Például használhatod változók,
- függvények és include hivások, konstansok,
- neve előtt és sok más esetben. Nem írhatod azonban oda függvény
- és osztály definíciók, vagy nyelvi szerkezetek (mint például
+ A @ operátor csak kifejezésekre működik. Egyszerű ökölszabályként
+ alkalmazandó, ha valaminek az értelmezett az értéke, akkor az elé a @
+ operátor is oda tehető. Ekképpen például használható változók,
+ függvények és include hívások, állandók
+ neve előtt és sok más esetben. Nem használható azonban függvény
+ és osztály definíciók vagy nyelvi szerkezetek (mint például
if és foreach utasítások)
- elé.
+ előtt.
- Lásd még: error_reporting.
+ Lásd még: error_reporting!
Jelenleg a "@" hibakezelő operátor kikapcsolja azon kritikus hibák
- jelentését is, amik megállítják a szkript futását. Más problémák
- mellett, ha egy függvényből érkező hibaüzenetek elnyelésére
- használod a "@" jelet, meg fog állni a szkript futása, ha
- nem létezik a megadott függvény, vagy elírtad a nevét.
+ jelentését is, amelyek megszakítják a szkript futását. Más problémák
+ mellett, ha függvényből érkező hibaüzenetek elnyelésére
+ használod a "@" jelet, le fog állni a szkript futása, ha
+ nem létezik a megadott függvény vagy elírtad annak nevét.
@@ -338,19 +337,16 @@
Végrehajtó operátorok
- A PHP-nek egy végrehajtó operátora van: [na nem kell semmi
- rosszra gondolni, semmi köze az adóhatósághoz...]:
- a visszaidézőjel [aki tudja az igazi nevét, ne rejtse
- véka alá!] (``). Ezek nem szimpla idézőjelek! A
- PHP megpróbálja a string tartalmát, mint egy shell command-ot
- [kagyló parancsot :)] végrehajtani: a kimenet lesz az egész
- értéke (nem kiírja a képernyőre, hanem hozzárendelhető
- egy változóhoz).
+ A PHP-ban létezik egy program-végrehajtó operátor: a visszaidézőjel
+ [aki tudja az igazi nevét, ne rejtse véka alá!] (``). Ezek nem szimpla idézőjelek! A
+ PHP megpróbálja a sztring tartalmát parancssorból futtatandó utasításként
+ végrehajtani, amelynek a kimenete lesz az operátor értéke.
+ Ez nem egyszerűen a kimenetre kerül, hanem hozzárendelhető egy változóhoz.
[Az alábbi kis példa az aktuális könyvtár tartalmát
- (hosszú lista, rejtett fájlok is) formázva írja ki (illetve
- fix szélességű betűket használva, újsor karaktereket
+ (hosszú lista, rejtett fájlok is) formázva írja ki
+ (fix szélességű betűket használva, újsor karaktereket
tiszteletben tartva)]
@@ -385,8 +381,8 @@
Növelő/csökkentő operátorok
- A PHP támogatja a C-szerű pre- és postinkrementáló
- és dekrementáló operátorokat.
+ A PHP támogatja a C-szerű ún. elő- és utónövekményes ill.
+ csökkentő operátorokat.
";
$a = 5;
echo "4-nek kell lennie: " . --$a . " \n";
echo "4-nek kell lennie: " . $a . " \n";
@@ -475,32 +471,32 @@
$a and $bÉs
- Csak akkor igaz, ha mind $a mind $b igazak
+ Pontosan akkor igaz (&true;), ha mind $a mind $b igazak (&true;).$a or $bVagy
- Akkor igaz, ha $a és $b között van igaz
+ Pontosan akkor igaz (&true;), ha $a és $b között van igaz (&true;).$a xor $bKizáró vagy
- Akkor igaz, ha $a és $b közül pontosan egy igaz
+ Pontosan akkor igaz (&true;), ha $a és $b közül pontosan egy igaz (&true;).! $aTagadás
- Igaz, ha $a nem igaz
+ Pontosan akkor igaz (&true;), ha $a nem igaz (&true;).$a && $bÉs
- Csak akkor igaz, ha mind $a mind $b igazak
+ Pontosan akkor igaz (&true;), ha mind $a mind $b igaz (&true;).$a || $bVagy
- Akkor igaz, ha $a és $b között van igaz
+ Pontosan akkor igaz (&true;), ha $a és $b között van igaz (&true;).
@@ -522,28 +518,26 @@
1 + 5 * 3 kifejezésben, a kifejezés
értéke 16, és nem 18, mert a szorzás operátorának, a
("*")-nak nagyobb precedenciája van, mint az
- összeadásénak ("+"). Zárójeleket használhatsz
- a precedencia meghatározására, ha szükséges. Például
- (1 + 5) * 3 eredménye 18
+ összeadásénak ("+"). Zárójelek segítségével tetszőleges
+ precedenciát lehet felállítani egy kifejezésen belül, ha szükséges.
+ Például a (1 + 5) * 3 eredménye 18
lesz.
[Az asszociativitás talán megér egy kis magyarázatot.
Ez azt határozza meg, hogy az adott szinten levő
- operátorok egymás utáni zárójel nélküli használatát hogyan
- értelmezi a fordító. Talán egy példával kicsit érthetőbbé
- tehető: pl. 1-2+3 értelmezhető (1-2)+3-nak, eredménye 2,
- vagy 1-(2+3)-nak, eredménye -4. Az előbbi kiértékelés,
- (mely balról jobbra asszociatív) a
+ operátorok egymás utáni, zárójel nélküli használatát hogyan
+ értelmezi a fordító. Egy példán keresztül talán érthetőbbé
+ válik: 1-2+3 értelmezhető (1-2)+3-nak (= 2), vagy 1-(2+3)-nak (= -4).
+ Az előbbi kiértékelés, amely balról jobbra asszociatív, a
helyes ebben az esetben. A második kiértékelés pedig
- jobbról balra asszociatív (ilyen
- például a hatványozás, ami nincs a nyelvben implementálva.
- Viszont van egy pow nevű függvény. Szóval 2**3**2 (ahol
- ** lenne a hatványozás) helyesen
- 2 a kilencediken = 512 lenne.) Vannak nem köthető
- operátorok is, ilyenek az összehasonlító operátorok. Tehát
- nem írható, hogy 2<$x<4.]
-
+ jobbról balra asszociatív - ilyen lenne
+ például a hatványozás, amely nincs a nyelvben implementálva (erre szolgál
+ pow). Ha a ** lenne a
+ hatványozás, akkor a 2**3**2 helyesen 2 a 9-en = 512 lenne.
+ Vannak nem köthető (nem asszociatív) operátorok is, ilyenek az
+ összehasonlító operátorok. A PHP-ban tehát nem
+ értelmes a 2<$x<4 kifejezés.]
Az alábbi táblázat az operátorokat precedenciájuk
@@ -649,12 +643,12 @@
String operátorok
Két string operátor van. Az egyik az összefűzés operátor
- ('.'), ami bal és jobb argumentumának összefűzöttjével
+ ('.'), amely bal és jobb oldali operandusának összefűzöttjével
tér vissza. A második az összefűző-hozzárendelő operátor
- ('.='), ami szövegesen hozzáfűzi a jobb argumentumát a bal oldali
- argumentum végéhez. Olvasd el a Hozzárendelő
- operátorok című részt.
+ operátorok című részt!
Index: phpdoc/hu/language/control-structures.xml
diff -u phpdoc/hu/language/control-structures.xml:1.14 phpdoc/hu/language/control-structures.xml:1.15
--- phpdoc/hu/language/control-structures.xml:1.14 Sat Dec 15 09:49:54 2001
+++ phpdoc/hu/language/control-structures.xml Sat Dec 29 18:57:12 2001
@@ -1,6 +1,6 @@
-
-
+
+
Vezérlési szerkezetek
@@ -20,24 +20,29 @@
if
Az if szerkezet az egyik legfontosabb
- szerkezete a legtöbb nyelvnek - így a PHP-nek is. A PHP
- biztosít egy C-szerű if szerkezetet:
+ szerkezete a legtöbb nyelvnek - így a PHP-nek is. A PHP a C-ben megismerthez
+ hasonló if szerkezettel bír:
+
- Amint a kifejezésekről szóló fejezetben szerepel, a kifejezés
- igazságértéke értékelődik ki. Ha kifejezés
- &true;, a PHP végrehajtja az utasítást; ha
- &false; figyelmen kívül hagyja.
+ Amint a kifejezésekről szóló fejezetben
+ szerepel, a kifejezés logikai értéke értékelődik ki.
+ Ha kifejezés &true;, akkor a PHP végrehajtja az utasítást;
+ ha &false;, akkkor figyelmen kívül hagyja. Arról, hogy mely értékek tekinthetők
+ &false;-nak, a Logikai értékké alakítás c.
+ fejezetben olvashatsz.
Az alábbi példa kiírja, hogy a nagyobb,
- mint b ha $a nagyobb,
+ mint b, ha $a nagyobb,
mint $b:
@@ -49,13 +54,12 @@
- Gyakran sok utasítást kellene feltételesen végrehajtanod.
- Persze, hogy nem kell minden utasításhoz külön
- if-et írnod. Inkább foglald
- utasításblokkba az utasításokat. Például az alábbi kód
- kiírja, hogy a nagyobb, mint b
+ Gyakran sok utasítást kell feltételhez kötve végrehajtani.
+ Természetesen nem kell minden utasításhoz külön
+ if-et írni. Az utasításokat utasításblokkba lehet összefogni.
+ Az alábbi kód például kiírja, hogy a nagyobb, mint b
ha $a nagyobb, mint
- $b, és aztán hozzárendeli
+ $b, és utána hozzárendeli
$a értékét
$b-hez:
@@ -71,24 +75,22 @@
A feltételes utasítások vég nélkül további if
- utasításokba ágyazhatók, amely a programod különböző
+ utasításokba ágyazhatók, amely a program különböző
részeinek feltételes végrehajtását igen hatékonnyá teszi.
-
+
else
- Gyakran van rá szükség, hogy ha teljesül egy bizonyos feltétel,
- akkor valamilyen utasítást kell végrehajtani, de ha nem,
- akkor egy másik utasítást. Erre való az
- else. Az else
- kibővíti az if utasítást, hogy akkor hajtson
- végre utasítást, amikor az if kifejezés nem
- teljesül, vagyis &false;. Például az alábbi
- kód kiírja, hogy a nagyobb, mint
- b ha $a nagyobb, mint
- $b, egyébként az a NEM
+ Gyakori, hogy egy bizonyos feltétel teljesülése esetén
+ valamilyen utasítást kell végrehajtani, és valamilyen másik utasítást,
+ ha nem teljesül a feltétel. Erre való az else.
+ Az else kibővíti az if utasítást,
+ hogy akkor hajtson végre utasítást, amikor az if kifejezés &false;-ként
+ értékelődik ki. Az alábbi kód például kiírja, hogy a nagyobb, mint
+ b ha $a
+ $b-nél nagyobb, egyébként az a NEM
nagyobb, mint b üzenetet írja ki:
@@ -103,15 +105,13 @@
Az else utasítás csak akkor hajtódik végre,
- ha az if kifejezés &false;
- értékű, és az összes elseif kifejezés is
- &false;. Ne ijedj meg, erről még nem volt
- szó, ez a következő
- fejezet.
+ ha az if kifejezés és az összes elseif
+ kifejezés is &false; értékű. Az elseif
+ -ről most olvashatsz.
-
+
elseif
@@ -124,8 +124,8 @@
kifejezés értéke &false; lenne. Azonban az
else-sel ellentétben csak akkor hajtra végre
az alternatív kódrészt, ha az elseif kifejezés
- &true;. Például az alábbi kód üdvözli Menő Manót,
- és Víz Eleket, vagy kiírja, hogy ismeretlen, $a értékétől függően:
+ &true;. Az alábbi kód például - $a értékétől függően - üdvözli Menő Manót,
+ és Víz Eleket, vagy kiírja, hogy ismeretlen:
- Egy if kifejezést számos elseif
- követheti. Az első olyan elseif kifejezés hajtódik
- végre (ha van), amely értéke &true;. A PHP-ban,
- írhatsz 'else if'-et is (két szó) és ugyanúgy fog viselkedni,
- mint az 'elseif' (egy szó). A szintaktikai jelentés 'kicsit'
- eltérő (ha ismered a C-t, nos ez pont úgy működik) de végülis
- ugyanaz lesz a végeredmény.
+ Egy if kifejezést több elseif
+ követhet. Az első olyan elseif kifejezés hajtódik
+ végre (ha van), amely értéke &true;. A PHP-ban az 'else if' is (különírva)
+ használható és ugyanúgy fog viselkedni, mint az 'elseif' (egybeírva).
+ A szintaktikai jelentés 'kicsit' eltérő (ha ismered a C-t, nos ez pont
+ úgy működik) de végülis ugyanaz lesz a végeredmény.
Az elseif ág csak akkor hajtódik végre,
- ha az őt megelőző if kifejezés, és az
- összes köztes elseif kifejezések
- &false; értékűek, de az adott
- elseif kifejezése
- &true;.
+ ha az őt megelőző if kifejezés, és az összes köztes
+ elseif kifejezések &false; értékűek, de az adott
+ elseif kifejezése &true;.
-
+
Vezérlési szerkezetek alternatív szintaxisa
-
-
- Az alternatív szintaxis használata nem javasolt a PHP 4-ben.
- Egyszerűen olvashatatlanabb kódot eredményez, és túl
- komplikálttá válik a normál formával vegyítéve. Bár nincs
- terv ennek a szintaxisnak a megszüntetésére, nem zárható ki,
- hogy egy nap már nem fog működni. Mi figyelmeztettünk téged!
-
-
-
-
A PHP bizonyos vezérlési szerkezeteihez egy alternatív
szintaxist is nyújt; név szerint: az
if, while,
@@ -180,7 +166,7 @@
és switch
számára. Minden esetben az alternatív szintaxisnál a
nyitó kapcsos zárójel helyett kettőspontot (:) kell
- írni, a záró zárójel helyett pedig a vezérlési szerkezetnek
+ írni, a záró zárójel helyett pedig a vezérlési szerkezetnek
megfelelő endif;,
endwhile;, endfor;,
endforeach;, vagy endswitch;
@@ -235,10 +221,12 @@
A while ciklusok a PHP legegyszerűbb
ciklusai. Éppen úgy viselkednek, mint a C nyelvbeli
- megfelelőik. A while általános szintaxisa:
+ megfelelőik. A while általános szintaxisa:
+
@@ -255,23 +243,25 @@
akkor sem áll meg, csak az iteráció végén [feltéve
ha közben megint meg nem változik a feltétel].
Amikor a while kifejezés értéke már
- az első vizsgálatkor &false;,
- az utasítás(blokk) egyszer sem fog végrehajtódni.
+ az első vizsgálatkor &false;, akkor az utasítás(blokk)
+ egyszer sem kerül végrehajtásra.
Az if szerkezethez hasonlóan több
utasítást csoportosítani lehet a while
- ciklusban kapcsos zárójelekkel, vagy az alternatív szintaxis
+ ciklusban kapcsos zárójelekkel, vagy az alternatív szintaxis
használatával:
+
- Az alábbi példák egyformák, a számokat írják
- ki 1-től 10-ig:
+ Az alábbi példák ugyanazt csinálják - 1-től 10-ig kiírják
+ a számokat:
-
+
do..while
@@ -306,16 +296,16 @@
értékelődik ki, és nem az elején. A fő különbség a
hagyományos while ciklushoz képest, hogy a
do..while ciklus első iterációja garantáltan
- lefut (a kifejezés igazságértéke csak az iteráció végén
- ellenőrződik), ami nem garantált a hagyományos
+ lefut (a kifejezés igazságértékét csak az iteráció végén
+ ellenőrzi), amely nem garantált a hagyományos
while ciklusnál (itt a kifejezés
- igazságértéke az iteráció kezdetén értékelődik ki,
- ha értéke &false; kezdetben, a ciklus
- végrehajtása azonnal befejeződik).
+ igazságértéke az iteráció kezdetén kerül kiértékelésre,
+ ha értéke kezdetben &false;, akkor a ciklus végrehajtása
+ azonnal befejeződik).
Csak egy szintaxisa van a do..while ciklusnak:
-
+
Haladó C programozók már bizonyára jártasak a
do..while ciklus másfajta használatában.
- Például utasításblokk közepén ki lehet lépni
+ Például utasításblokk közepén ki lehet lépni
a blokkból, ha az utasításblokkot
do..while(0), közé tesszük, és break
@@ -363,27 +353,29 @@
- Ne aggódj, ha nem érted ezt azonnal, vagy ha egyáltalán nem
- érted. Írhatsz szkripteket, sőt hatékony szkripteket ennek a
- 'feature'-nek a használata nélkül is.
+ Ne aggódj, ha ezt nem azonnal vagy egyáltalán értetted meg.
+ Lehet szkripteket - sőt hatékony szkripteket - írni ennek a
+ lehetőségnek a használata nélkül is.
-
+
for
A for cilus a legbonyolultabb ciklus a PHP-ben.
- Éppen úgy viselkedik, mint a C nyelvbeli
+ Éppen úgy viselkedik, mint a C nyelvbeli
párja (–> C-ben értőknek tovább gomb). A
- for ciklus szintaxisa:
+ for ciklus szintaxisa:
+
- [A fenti for szerkezettel ekvivalens az alábbi,
+ [A fenti for szerkezettel megegyező az alábbi,
remélhetőleg már ismerős kifejezés:
@@ -397,54 +389,53 @@
Remélem így már érthetőbb lesz az alábbi magyarázat].
- Az első kifejezés (kif1) egyszer
- értékelődik ki (hajtódik végre), mégpedig a ciklus elején.
+ Az első kifejezés (kif1)
+ a ciklus kezdetén egyszer kerül végrehajtásra.
- Minden iteráció elején
- kif2 kiértékelődik. Ha értéke
- &true;, a ciklus folytatódik, és az
- utasítás végrehajtódik. Ha értéke
- &false;, a ciklus véget ér.
+ Minden iteráció elején kif2 kiértékelődik.
+ Ha értéke &true;, akkor a ciklus folytatódik, és az
+ utasításra kerül a vezérlés.
+ Ha értéke &false;, akkor a ciklus véget ér.
- Minden iteráció végén kif3
- kiértékelődik (végrehajtódik).
+ Minden iteráció végén kif3 is végrehajtásra kerül.
Bármelyik kifejezést el lehet hagyni. Ha
- kif2 üres, az azt jelenti, hogy a
- ciklus a végtelenségig fut [hacsak nem jön a jó
- tündér break utasítás képében...] (a PHP implicit
- &true;-nak feltételezi, mint a C).
- Ez nem annyira haszontalan, mint gondolnád, hiszen
- gyakran fejezheted be a ciklust egy feltételes
+ kif2 üres, az azt jelenti, hogy a
+ ciklus a végtelenségig fut [hacsak nem jön a jó
+ tündér break utasítás képében...] (A PHP implicit
+ &true;-nak feltételezi az üres kif2-t,
+ mint a C.) Ez nem annyira haszontalan, mint elsőre amennyire elsőnek tűnik,
+ hiszen gyakran fejezheted be a ciklust egy feltételes
kifejezésbe ágyazott break
- kifejezéssel a for igazságértékelése helyett.
+ kifejezéssel a for feltétel kifejezésének kiértékelése
+ helyett.
- Nézd az alábbi példákat. Mindegyikük kiírja a számokat egytől tízig:
+ Nézd az alábbi példákat, mindegyikük kiírja a számokat 1-től 10-ig:
10) {
break;
}
print $i;
}
-
+
/* 2. variáció */
-
+
$i = 1;
for (;;) {
if ($i > 10) {
@@ -453,9 +444,9 @@
print $i;
$i++;
}
-
+
/* 3. variáció - Coda :-) */
-
+
for ($i = 1; $i <= 10; print $i, $i++);
]]>
@@ -463,66 +454,67 @@
Természetesen "a téma" a legbarátságosabb (vagy
- esetleg a 3. variáció), de majd meg fogod látni, hogy sok
- helyen hasznos dolog, hogy üres kifejezés is írható
- for ciklusba...
+ esetleg a 3. variáció). Sok helyen hasznos azonban, hogy üres
+ kifejezés is írható for ciklusba...
- A PHP megengedi az
+ A PHP a for ciklus esetén is megengedi az
alternatív
- szintaxist is a for ciklusban:
+ szintaxishasználatát:
+
- Más nyelvekben van egy foreach szerkezet,
- hogy bejárjanak egy tömböt, vagy egy hash-t. A PHP 3-ban nincs
- ilyen, de a PHP 4-ben implementálták (lásd: foreach szerkezet tömbök vagy hash-ek
+ bejárására. A PHP 3-ban nincs ilyen, de a PHP 4-ben implementálták (lásd: foreach). PHP 3-ban
- a while szerkezetet
+ a while,
a list és az each
- függvényeket kombinálva használhatod erre a célra.
- Nézd meg e függvényeknek a dokumentációját, ha szeretnél példákat
- is látni.
+ szerkezeteket használhatod erre a célra. Nézd meg ezeknek a dokumentációját
+ alkalmazási példákért.
foreach
- A PHP 4-ben (nem a PHP 3-ban!) a perlhez és más nyelvekhez
- hasonlóan rendelkezésre áll egy foreach
- szerkezet is. Ez egy jól használható eszközt ad a tömbökön
- végzett iterációkhoz. Két szintaxis létezik, a második egy
- apró, de hasznos plusz szolgáltatást nyújt az elsőhöz
+ A PHP 4-ben (nem a PHP 3-ban!) a Perlhez és más nyelvekhez
+ hasonlóan létezik az ún. foreach
+ szerkezet is. Ez jól használható eszközt ad a tömbökön
+ végzett iterációkhoz. Két szintaxisa létezik, a második egy
+ apró, de hasznos kiegészítéssel nyújt többet az elsőhöz
képest.
+ $ertek) utasítás
+]]>
Az első forma végigmegy a tömb_kifejezés
- által adott tömbön. Minden alkalommal az aktuális
+ szolgáltatta tömbön. Minden alkalommal az aktuális
elem értéke a $ertek változóba
- kerül, és a belső tömb mutató növelésre kerül. (Tehát
- a következő alkalommal a soron következő elemet fogod megkapni).
+ kerül, és a belső tömb mutató növelésre kerül. (A következő alkalommal
+ tehát a soron következő elemet fogja venni).
A második forma ugyanezt végzi el, de az aktuális elem
- kulcsa a $key változóba kerül.
+ kulcsa a $kulcs változóba kerül.
Amikor a foreach indul, a belső tömb
mutató az első elemre áll. Ez azt jelenti, hogy nem kell
- meghívnod a reset függvényt egy
+ meghívni a reset függvényt egy
foreach ciklus előtt.
@@ -545,7 +537,7 @@
- Talán már tudod, hogy az alábbiak azonosak:
+ Talán már tudod, hogy az alábbi példák egyenértékűek:
- Az alábbiak is megegyező eredménnyel szolgálnak:
+ Az alábbiak is azonos eredményt szolgáltatnak:
-
+
break
- A break azonnal kilép aktuális
+ A break azonnal kilép az aktuális
for, foreach,
- while, do..while vagy
- switch ciklusból.
+ while, do..while ciklusból vagy
+ switch szerkezetből.
- A break elfogad egy opcionális szám
- paramétert, ami megadja, hogy hány struktúrából kell
- egyszerre 'kiugrani'.
+ A break elfogad egy elhagyható szám paramétert,
+ amely megadja, hogy hány egymásba ágyazott struktúrából kell egyszerre 'kiugrani'.
@@ -659,7 +650,7 @@
echo "$ertek \n";
}
-/* Az opcionális paraméter használata */
+/* Az elhagyható paraméter használata */
$i = 0;
while (++$i) {
@@ -679,18 +670,18 @@
-
+
continue
- A continue-t ciklus belsejében használjuk,
+ A continue ciklusok belsejében használható arra,
hogy átugorjuk az aktuális iteráció hátralevő részét,
- és folytassuk a végrehajtást a következő iterációval.
+ és a végrehajtást a következő iterációval folytassuk.
- A continue elfogad egy opcionális szám
- paramétert, ami megadja, hogy hány struktúrának kell
- a hátralévő részét kihagyni.
+ A continue elfogad egy elhagyható szám
+ paramétert, amely megadja, hogy hány egymásba ágyazott struktúrának
+ a hátralévő részét kell átugrani.
@@ -721,19 +712,19 @@
-
+
switch
A switch kifejezés hasonló egy sereg IF
kifejezéshez, ahol a kifejezésekben ugyanaz szerepel.
- [Pont olyan, mint a C-beli, C-s gyakorlattal rendelkezőknek
- Tovább gomb]. Sokszor fordul elő, hogy ugyanazt a változót
- (vagy kifejezést) szeretnéd összehasonlítani több különböző
+ [Pont olyan, mint a C-ben, C-s gyakorlattal rendelkezőknek
+ Tovább gomb]. Gyakori, hogy ugyanazt a változót
+ (vagy kifejezést) kell összehasonlítani több különböző
értékkel, és más-más kódot végrehajtani a változó
- (kifejezés) értékétől függően. Pontosan ez az, amire a
- switch való.
-
+ (kifejezés) értékétől függően. Pontosan erre való a
+ switch.
+
Az alábbi két példa két különböző módon írja ki ugyanazt,
az egyik egy sor if kifejezést használ,
@@ -750,7 +741,7 @@
if ($i == 2) {
print "i most 2";
}
-
+
switch ($i) {
case 0:
print "i most 0";
@@ -767,18 +758,18 @@
- A hibák elkerülése végett fontos megérteni, hogy hogyan hajtódik
- végre a switch szerkezet. A
- switch sorról-sorra hajtódik végre (vagyis
- utasításról utasításra). Nem hajtódik végre semmilyen utasítás,
+ A hibák elkerülése végett fontos megérteni, hogy hogyan kerül végrehajtásra
+ a switch szerkezet. A
+ switch vagyis utasításról utasításra hajtódik végre.
+ Nem hajtódik végre semmilyen utasítás,
csak akkor, ha egy olyan case kifejezést talál
a PHP, amely egyezik a switch kifejezés értékével.
- A PHP addig folytatja az utasítások végrehajtását, amíg el
+ Ezután a PHP addig folytatja az utasítások végrehajtását, amíg el
nem éri a switch blokk végét, vagy nem
- találkozik egy break utasítással. FONTOS!!!
- Ha nem írsz break-et a case kifejezés végére,
- a PHP folytatni fogja a végrehajtást akkor is, ha újabb case
- jön! Például:
+ találkozik egy break utasítással. FONTOS!
+ Ha nem nincs break egy case-hez
+ tartozó utasítás(sorozat) végén, akkor a PHP végrehajtja a soron következő
+ case-hez tartozó utasításokat is! Például:
- Itt, ha $i 0, a PHP az összes kiíró utasítást végrehajtja!
- Ha $i 1, a PHP az utolsó két sort hajtja végre, és csak ha
- $i értéke 2, akkor kapod a 'kívánt' eredményt (csak i most
- 2 íródik ki). Tehát nagyon fontos nem elfelejteni a
- break utasítást (bár lehet, hogy
- szándékosan elhagyod bizonyos körülmények között).
+ Itt, ha $i értéke 0, akkor a PHP az összes kiíró utasítást végrehajtja!
+ Ha $i értéke 1, akkor a PHP az utolsó két print-et hajtja végre, és csak
+ ha $i értéke 2, akkor kapod a 'kívánt' eredményt (csak az 'i most
+ 2' íródik ki). Tehát nagyon fontos nem elfelejteni a
+ break utasítást (bár bizonyos körülmények között lehet,
+ hogy pont ennek elhagyása a szándékos).
A switch kifejezésben a feltétel csak
- egyszer értékelődik ki és az eredmény hasonlítódik össze a
+ egyszer értékelődik ki és a kapott eredmény lesz összehasonlítva a
case kifejezések mindegyikével. Ha
elseif kifejezéseket használsz, a
kifejezések újra és újra kiértékelődnek. [és újra és
@@ -814,7 +805,7 @@
gyorsabb.
- Egy eset utasításlistája üres is lehet, így a vezérlés
+ Egy eset (case) utasításlistája üres is lehet, így a vezérlés
a következő case-címkére adódik.
@@ -860,8 +851,8 @@
A case kifejezés tetszőleges kifejezés,
aminek egyszerű a típusa, vagyis egész vagy lebegőpontos
- szám, vagy string. Tömbök és objektumok itt nem használhatók,
- hacsak nem egy-egy elemük ill. változójuk egyszerű típusként.
+ szám, vagy string. Tömbök és objektumok itt nem használhatók,
+ csakis egy-egy elemük ill. változójuk egyszerű típusként.
Az alternatív szintaxis működik a switch-ekkel is. Bővebb
@@ -899,7 +890,9 @@
vezérlési szerkezetekéhez:
+
@@ -919,8 +912,8 @@
Tick-ek
- Egy tick egy olyan esemény, ami minden
- N alacsony szintű utasítás
+ A tick egy olyan esemény, amely minden
+ N db alacsony szintű utasítás
végrehajtásakor bekövetkezik a declare
blokkban. Az N értéket a
ticks=N
@@ -980,7 +973,7 @@
méri, rögzítve minden második alacsonyszintű utasítás
végrehajátásának időpontját. Ez az információ alkalmas
lehet arra, hogy megtaláld a lassan futó részeket a
- kódodban. Ezt a hatást másképp is elérhetted volna,
+ kódodban. Ezt a hatást másképp is el lehet érni,
de tick-eket használva sokkal kényelmesebb és könnyebben
megvalósítható megoldást kapsz.
@@ -995,40 +988,39 @@
-
+
require
- A require függvény behelyettesítődik
- a megadott fájllal, pont úgy, mint a C preprocesszor
+ A require helyén az a megadott fájl tartalma
+ helyettesítődik be pont úgy, mint a C preprocesszor
#include-ja.
Ha az "URL fopen wrapper"-ek be vannak kapcsolva (ami az
- alapbeállítású helyzet), akkor a require
- használatakor távoli fájlt is megadhatsz. Lásd
+ alapértelmezett helyzet), akkor a require
+ használatakor távoli fájlt is megadható. Lásd
a Távoli fájlok kezelése
- című fejezetet és az fopen függvényt.
+ című fejezetet és az fopen függvényt!
- Egy fontos megjegyzés a működésre vonatkozólag, hogy ha egy
- fájlt berántunk include-al vagy
- require-el, akkor kikerülünk a PHP
- módból HTML módba a célfájl elején, és visszaáll PHP
- módba a fájl végén. Ezért, bármely célfájlban levő PHP
- kódot közre kell fogni egy érvényes
- PHP kezdő- és zárótag-gel.
+ A működésre vonatkozólag fontos megjegyezni, hogy ha egy
+ fájlt beillesztünk az include-dal vagy
+ require-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 érvényes
+ PHP kezdő- és zárójelöléssel.
- A require valójában nem is egy
- függvény a PHP-ben, hanem egy nyelvi konstrukció. Ez
+ A require 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 require-re
- nem vonatkoznak a körbezáró struktúrák korlátozásai.
- Másfelől, nincs visszatérési értéke; ha megpróbálod
- kiolvasni a require hívás visszatérési
- értékét, a hívás értelmezési hibát (parse error) eredményez.
+ 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 require hívás visszatérési
+ értékét, a hívás értelmezési hibát (parse error) eredményez.
Az include-tól eltérőn a
@@ -1039,12 +1031,12 @@
az include-ot. A feltételes
kifejezés nincs hatással a require-ra.
Ennek ellenére, ha a sor, amelyen a require
- áll nem hajtódik végre, a célfájlban lévő kód nem is
+ áll nem hajtódik végre, a célfájlban lévő kód nem is
fog lefutni.
Hasonlóan, a ciklusok sem változtatják meg a
- require viselkedését. Bár a célfájl
+ require viselkedését. Bár a célfájl
kódja a ciklusmagban van, a require
végrehajtása csak egyszer történik meg.
@@ -1056,26 +1048,28 @@
A require-t konstans fájlnevekkel használd:
-require ('header.inc');
+
- Ha egy fájlt require-el töltesz be,
- a kód, amit tartalmaz azt az érvényességi kört örökli,
- ami a require hívás sorára vonatkozott.
- Bármilyen változó, ami azon a soron elérhető, rendelkezésre
+ Ha egy fájlt require-rel töltesz be, akkor
+ az általa tartalmazott kód azt az érvényességi kört örökli,
+ amely a require 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 require
egy függvényben található a hívó fájlban, akkor a hívott
- fájl minden kódja úgy fog viselkedni, mintha a függvényen
+ fájl teljes kódja úgy fog viselkedni, mintha a függvényen
belül írtad volna.
- Ha a require-el hívott fájl HTTP-n
+ Ha a require-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 require-el
+ formában. Ez nem ugyanaz, mintha a require-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.
@@ -1092,10 +1086,10 @@
/* 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 ("file.php?elsovaltozo=1&masodikvaltozo=2");
/* Működik */
-require ("http://szerver/file.php?elsovaltozo=1&masodikvaltozo=2");
+require ("http://szerver/file.php?elsovaltozo=1&masodikvaltozo=2");
$elsovaltozo = 1;
$masodikvaltozo = 2;
@@ -1110,7 +1104,7 @@
helyezzünk el a require-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
+ A PHP 4-ben ezt a lehetőséget megszüntették. Ha szeretnél valami
ilyesfélét, akkor nézd meg az include-ot.
@@ -1119,7 +1113,7 @@
és virtual.
-
+
include
@@ -1134,24 +1128,23 @@
című fejezetet és az fopen függvényt.
- Egy fontos megjegyzés a működésre vonatkozólag, hogy ha egy
- fájlt berántunk include-al vagy
- require-el, akkor kikerülünk a PHP
- módból HTML módba a célfájl elején, és visszaáll PHP
- módba a fájl végén. Ezért, bármely célfájlban levő PHP
- kódot közre kell fogni egy érvényes
- PHP kezdő- és zárótag-gel.
+ A működésre vonatkozólag fontos megjegyezni, hogy ha egy
+ fájlt beillesztünk az include-dal vagy
+ require-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 érvényes
+ PHP kezdő- és zárójelöléssel.
+
Ez történik valahányszor az include-hoz
- ér a program, tehát használhatod az
- include-ot egy ciklus belsejében,
- hogy különböző fájlokat behúzzál.
+ ér a program, tehát az include-ot kell használni
+ egy ciklus belsejében különböző fájlok beillesztésére.
Az include abban különbözik a
require-től, hogy míg az
- include minden alkalommal
+ include minden alkalommal
kiértékelődik, ahányszor előfordul (és csak akkor,
ha éppen oda kerül a vezérlés), addig a
require az első alkalommal
- helyettesíti a fájlt, akár kiértékelődik
+ helyettesíti a fájlt, akár kiértékelődik
a tartalma, akár nem (például egy olyan
if
kifejezésben, amely mindig hamis).
- Mivel az include egy különleges
- nyelvi elem, védened kell kapcsos zárójelekkel,
+ Mivel az include különleges
+ nyelvi elem, kapcsos zárójelekkel kell közrefogni,
ha egy feltételes utasításon belül szerepel.
@@ -1185,7 +1178,7 @@
else
include($other);
-/* Ez HELYES */
+/* Ez a HELYES */
if ($feltetel) {
include($file);
@@ -1200,24 +1193,23 @@
A PHP 3-ban, és a PHP 4-ben is lehetőség van arra, hogy
return utasítást helyezz el egy
include-olt fájlban annak érdekében,
- hogy a kiértékelés 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 nem engedi meg, hogy a
- return egy blokkban legyen, kivéve
- ha az egy függvényblokk, ami ugye csak abból a függvényből
- fog visszatérni, és nem az egész fájlból. A PHP 4-ben
- ez a megszorítás nincs. Vagyis a PHP 4 megenged
- visszatérési értékeket include-olt
+ 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
+ return 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 include-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
+ mint egy közönséges függvénynél. Ez a PHP 3-ban
értelmezési hibát (parse error) okoz.
Az include PHP 3-ban és PHP 4-ben
Tegyük fel, hogy a következő fájl (melynek neve:
- test.inc) abban a könyvtárban van,
- mint a főfájl:
+ test.php) abban a könyvtárban van,
+ mint a fő fájl:
- És legyen a főfájl (main.php)
- tartalma az alábbi:
+ És legyen a fő fájl (main.php)
+ tartalma az alábbi:
return egy kapcsos zárójelezett részben
van, amely nem függvényen belül található a
- test.inc fájlban. Ha a return-t
+ test.php fájlban. Ha a return-t
kivesszük a blokkból, a kimenet ilyen lesz:
Return előtt
@@ -1290,26 +1282,26 @@
- A nemkívánatos '27' azért van ott, mert a PHP 3 nem támogatja
- az ilyen fájlokból való visszatérési értékeket.
+ 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.
- Ha egy fájlt include-al töltesz be,
- a kód, amit tartalmaz azt az érvényességi kört örökli,
- ami az include hívás sorára vonatkozott.
+ Ha egy fájlt include-dal töltesz be,
+ az általa tartalmazott a kód azt az érvényességi kört örökli,
+ amely az include 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 include
egy függvényben található a hívó fájlban, akkor a hívott
- fájl minden kódja úgy fog viselkedni, mintha a függvényen
- belül írtad volna.
+ fájl teljes kódja úgy fog viselkedni, mintha az a függvényen
+ belül lenne írva.
- Ha az include-al hívott fájl HTTP-n
+ Ha az include-dal 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,
+ 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 include-al
+ formában. Ez nem ugyanaz, mintha a include-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.
@@ -1326,10 +1318,10 @@
/* 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");
+include ("file.php?elsovaltozo=1&masodikvaltozo=2");
/* Működik */
-include ("http://szerver/file.php?elsovaltozo=1&masodikvaltozo=2");
+include ("http://szerver/file.php?elsovaltozo=1&masodikvaltozo=2");
$elsovaltozo = 1;
$masodikvaltozo = 2;
@@ -1341,16 +1333,16 @@
Lásd még: require, require_once,
- include_once, readfile,
- és virtual.
+ include_once, readfile
+ és virtual!
-
+
require_once
- A require_once behelyettesítődik
- a megadott fájllal, pont úgy, mint a C preprocesszor
+ A require_once helyén behelyettesítésre kerül
+ a megadott fájl pont úgy, mint a C preprocesszor
#include-ja, és ebben az értelemben
hasonló a require-höz. A fő különbség
az, hogy a require_once gondoskodik
@@ -1359,10 +1351,9 @@
eredő hibáktól.
- Például elkészíted a következő két fájlt:
- ezskozok.inc és izelib.inc
+ Példában legyen a következő két fájl: eszkozok.php és izelib.php
- eszkozok.inc
+ eszkozok.php
- izelib.inc
+ izelib.php
- Aztán írsz egy szkriptet require_hiba_bemutatasa.php névvel:
+ Valamint require_hiba_bemutatasa.php nevű szkript:
require_hiba_bemutatasa.php
- Amikor megpróbálod lefuttatni ez utóbbi programot,
- az eredmény (PHP 4.01pl2-t használva):
+ Ez utóbbi program eredménye (PHP 4.01pl2-t használva):
+
- Az izelib.inc és
- require_hiba_bemutatasa fájlok módosításával,
- require_once használatával a probléma
+ Az izelib.php és
+ require_hiba_bemutatasa fájlok módosításával - a
+ require_once használatával - a probléma
megoldódik. Átnevezve require_hiba_elkerulese.php-re
az előzőt:
- iezlib.inc (javítás)
+ iezlib.php (javítás)
+
require_hiba_elkerulese.php
+
Ez utóbbit futtatva a kimenet (PHP 4.0.1pl2-t használva):
+ 1
+ [1] => Array
(
- [0] => komplex
- [1] => tömb
+ [0] => komplex
+ [1] => tömb
)
)
+]]>
- Vedd észre, hogy a C preprocesszor
+ Vedd észre, hogy a C preprocesszor
#include-jához hasonlóan ez is "fordítás időben"
- végzi a beillesztéseket, azaz akkor, amikor a szkriptet feldolgozza.
- Ezért nem használható a szript olyan részeire, amik futás közben
+ 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
include_once vagy az include
használható.
- További példákhoz az require_once és
+ További példákhoz az require_once és
include_once használatához nézd meg a PEAR kódot,
ami a legfrissebb PHP disztribúciókban megtalálható.
@@ -1492,15 +1491,15 @@
és v