goba Sun Aug 19 13:06:17 2001 EDT Modified files: /phpdoc/hu/language references.xml /phpdoc/hu Translators Log: Adding references XML, now translated to Hungarian
Index: phpdoc/hu/language/references.xml diff -u /dev/null phpdoc/hu/language/references.xml:1.4 --- /dev/null Sun Aug 19 13:06:17 2001 +++ phpdoc/hu/language/references.xml Sun Aug 19 13:06:17 2001 @@ -0,0 +1,335 @@ +<?xml encoding="iso-8859-2"?> + + <chapter id="language.references"> + <title>Referenciák</title> + + <sect1 id="language.references.whatare"> + <title>Mik a referenciák</title> + <simpara> + A referenciák lehetőséget adnak PHP-ben azonos változó + tartalom elérésére különböző nevek alatt. Ezek szimbólumtábla + bejegyzések, nem olyanok, mint a C nyelv mutatói. PHP-ben + a változók neve és tartalma két különböző dolog, tehát + ugyanaz a tartalom kaphat különböző neveket. A legjobb + hasonlat talán a UNIX állománynevek és állományok rendszere. + A változóneveket könyvtár bejegyzésekként foghatod fel, + a változók tartalmát állományokként. A referenciák olyanok, + mint UNIXban a hardlinkek. + </simpara> + </sect1> + + <sect1 id="language.references.whatdo"> + <title>Mit lehet referenciákkal tenni</title> + <para> + A PHP referenciák lehetőséget adnak arra, hogy egy értékhez + két nevet redelj. Ez azt jelenti, hogy amikor a következőt + teszed: + <informalexample> + <programlisting role="php"> +<![CDATA[ +$a =& $b; +]]> + </programlisting> + </informalexample> + az <varname>$a</varname> és <varname>$b</varname> + nevek ugyanarra az értékre hivatkoznak. + <note> + <para> + Az <varname>$a</varname> és a <varname>$b</varname> nevek + teljesen egyenrangúak. Nem arról van szó, hogy az + <varname>$a</varname> a <varname>$b</varname>-re mutat, + vagy fordítva, hanem arról, hogy az <varname>$a</varname> + és a <varname>$b</varname> név ugyanannak az értéknek + két elnevezése. + </para> + </note> + </para> + <para> + Ugyanez a forma használható az olyan függvényeknél, amik + referenciát adnak vissza, vagy a <literal>new</literal> + operátor használatakor (a PHP 4.0.4 és későbbi verziókban): + <informalexample> + <programlisting role="php"> +<![CDATA[ +$obj =& new valamilyen_osztaly(); +$ize =& valtozo_kereses ($valami); +]]> + </programlisting> + </informalexample> + </para> + <note> + <para> + Ha nem a fenti módszert alkalmazod, az + <literal>$obj = new valamilyen_osztaly()</literal> + kóddal kapott $obj nem ugyanaz az érték lesz, + mint a <literal>$this</literal> a konstruktorban. Tehát + ha a <literal>$this</literal> referenciát használód a + konstruktorban, referencia hozzárendelést kell alkalmaznod, + különben két különböző objektummal dolgozol. + </para> + </note> + <para> + A cím szerinti paraméterátadás a másik dolog, amit + referenciákkal el lehet érni. Ezzel a hívott függvény + egy lokális változója és a hívó környezet egy változója + ugyanazt az értéket jelentik. Például: + <informalexample> + <programlisting role="php"> +<![CDATA[ +function ize (&$valtozo) +{ + $valtozo++; +} + +$a = 5; +ize ($a); +]]> + </programlisting> + </informalexample> + Ez a kód az <varname>$a</varname> változó értékét 6-ra állítja. + Ez azért történik meg, mivel az <varname>ize</varname> függvényben + a <varname>$valtozo</varname> egy referencia az + <varname>$a</varname> változó értékére. + Lásd még a részletes leírást a <link + linkend="language.references.pass">cím szerinti átadásról</link>. + </para> + <simpara> + A harmadik dolog, amit referenciákkal tehetsz, az a <link + linkend="language.references.return">cím szerinti visszetérés</link>. + </simpara> + </sect1> + + <sect1 id="language.references.arent"> + <title>Mit nem lehet referenciákkal tenni</title> + <para> + Mint korábban írtuk, a referenciák nem mutatók. Ez azt + jelenti, hogy a következő konstrukció nem azt teszi, + amit elvárnál: + <informalexample> + <programlisting role="php"> +<![CDATA[ +function ize (&$valtozo) +{ + $valtozo =& $GLOBALS["valami"]; +} +ize($valami); +]]> + </programlisting> + </informalexample> + </para> + <simpara> + A <varname>foo</varname> függvényben a <varname>$valtozo</varname> + változó a <varname>$valami</varname> értékéhez lesz kötve, + de utána ezt megváltoztatjuk a <varname>$GLOBALS["valami"]</varname> + értékére. Nincs lehetőség <varname>$valami</varname> kötésére + a hívó környezetben valami máshoz a referenciák segítségével, + mivel <varname>$valami</varname> nem áll rendelkezésre az + <varname>ize</varname> függvényben (ott a <varname>$valtozo</varname> + reprezentálja az értékét, de a <varname>$valtozo</varname> csak + változó tartalommal bír és nem név-érték kötéssel a hívó szimbólum + táblájában). + </simpara> + </sect1> + + <sect1 id="language.references.pass"> + <title>Cím szerinti paraméterátadás</title> + <para> + Át tudsz adni függvényeknek változókat cím szerinti + formában is, így a függvény tudja módosítani az értéket. + Ez a következőképpen használatos: + <informalexample> + <programlisting role="php"> +<![CDATA[ +function ize (&$valtozo) +{ + $valtozo++; +} + +$a = 5; +ize ($a); +// $a itt 6 +]] + </programlisting> + </informalexample> + Figyeld meg, hogy nincs referencia jelzés híváskor, csak + a függvény definíciójában. Ez önmagában elég a megfelelő + működéshez. + </para> + <para> + A következőket adhatod át cím szerint: + <itemizedlist> + <listitem> + <simpara> + Változó, például <literal>ize($a)</literal> + </simpara> + </listitem> + <listitem> + <simpara> + New utasítás, például <literal>ize(new osztaly())</literal> + </simpara> + </listitem> + <listitem> + <para> + Egy függvény által visszaadott referencia, például: + <informalexample> + <programlisting role="php"> +<![CDATA[ +function &valami() +{ + $a = 5; + return $a; +} +ize(valami()); +]]> + </programlisting> + </informalexample> + Lásd még a <link linkend="language.references.return">cím + szerinti visszetérés</link> leírását. + </para> + </listitem> + </itemizedlist> + </para> + <para> + Minden más kifejezést kerülni kell cím szerinti + paraméterátadáskor, mivel az eredmények nem definiáltak. + Például a következő példája a cím szerinti paraméterátadásnak + hibás: + <informalexample> + <programlisting role="php"> +<![VDATA[ +function valami() // Figyeld meg a hiányzó & jelet +{ + $a = 5; + return $a; +} +ize(valami()); + +ize($a = 5) // Kifejezés, nem változó +ize(5) // Konstans, nem változó +]]> + </programlisting> + </informalexample> + Ezek a meghatározások a PHP 4.0.4 és későbbi verzióira érvényesek. + </para> + </sect1> + + <sect1 id="language.references.return"> + <title>Cím szerinti visszatérés</title> + <para> + A cím szerinti visszatérés akkor hasznos, ha meg kell találnod + egy változót amire referenciát szeretnél készíteni. Ha + referenciával szeretnél visszatérni, használd az alábbi formát: + <informalexample> + <programlisting role="php"> +<![CDATA[ +function &valtozo_kereses ($param) +{ + ...kód... + return $megtalalt_valtozo; +} + +$ize =& valtozo_kereses ($valami); +$ize->x = 2; +]]> + </programlisting> + </informalexample> + Ebben a példában a <varname>valtozo_kereses</varname> + egy objektumot keres meg, és a megtalált objektum + egy tulajdonságát állítjuk át - helyesen, a másolatának + egy tulajdonsága helyett, amit a referenciák használata + nélkül tettünk volna - hibásan. + </para> + <note> + <simpara> + A paraméter átadással ellentétben, itt a + <literal>&</literal> jelet mindkét helyen meg kell + adnod, a cím szerinti visszatérés jelöléséhez. Így nem + egy másolatot kapsz, és az <varname>$ize</varname> változóra + nézvereferencia hozzárendelés történik, nem érték hozzárendelés. + </simpara> + </note> + </sect1> + + <sect1 id="language.references.unset"> + <title>Referenciák megszüntetése</title> + <para> + Amikor megszüntetsz egy referenciát, csak megszakítod + a változó név és érték közötti kapcsolatot. Ez nem + azt jelenti, hogy a váltózó értékét törlöd. Például: + <informalexample> + <programlisting role="php"> +<![CDATA[ +$a = 1; +$b =& $a; +unset ($a); +]]> + </programlisting> + </informalexample> + nem fogja megszüntetni a <varname>$b</varname> nevet, csak + az <varname>$a</varname> nevet, így az érték a + <varname>$b</varname> néven továbbra is elérhető. + </para> + <simpara> + Ismét érdemes a Unix <command>unlink</command> parancsával + és az állományrendszerrel való hasonlatosságra gondolni. + </simpara> + </sect1> + + <sect1 id="language.references.spot"> + <title>A PHP által használt referenciák</title> + <simpara> + Sok konstrukció a PHPben referenciák segítségével + valósul meg, azért minden fentebb tárgyalt kérdés + ezekre az elemekre is igaz. Néhány olyan konstrukciót, + mint a cím szerinti paraméter átadást vagy visszatérést + már kifejtettünk, más referenciákat használó konstrukciók: + </simpara> + + <sect2 id="references.global"> + <title><literal>global</literal> referenciák</title> + <para> + Amikor egy változót a <command>global $valtozo</command> formával + globálisként használsz, tulajdonképpen egy referenciát képzel + a megfelelő globális változóra. Ez azt jelenti, hogy a következő + kódnak megfelelő történik: + <informalexample> + <programlisting role="php"> +<![CDATA[ +$valtozo =& $GLOBALS["valtozo"]; +]]> + </programlisting> + </informalexample> + </para> + <simpara> + Ez például azt is jelenti, hogy a <varname>$valtozo</varname> + törlése nem fogja törölni a globális változót. + </simpara> + </sect2> + + <sect2 id="references.this"> + <title><literal>$this</literal></title> + <simpara> + Egy objektum metódusban a <varname>$this</varname> + mindig az aktuális példányra egy referencia. + </simpara> + </sect2> + </sect1> + + </chapter> + +<!-- 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 +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/hu/Translators diff -u phpdoc/hu/Translators:1.44 phpdoc/hu/Translators:1.45 --- phpdoc/hu/Translators:1.44 Sun Aug 19 10:21:30 2001 +++ phpdoc/hu/Translators Sun Aug 19 13:06:17 2001 @@ -184,7 +184,7 @@ functions.xml Kontra Gergely 1.15 oop.xml Kontra Gergely 1.5 ++ operators.xml Kontra Gergely 1.26 -references.xml Kontra Gergely [undrcon] +references.xml Hojtsy Gábor 1.14 types.xml Hojtsy Gábor 1.45 variables.xml Kontra Gergely 1.17 -------- pear ---------------------------------------------------------------