goba Sun Aug 19 14:46:04 2001 EDT Added files: /phpdoc/hu/pear about.xml standards.xml Modified files: /phpdoc/hu Translators Log: New PEAR docs addded tu Hungarian version, now Translated
Index: phpdoc/hu/Translators diff -u phpdoc/hu/Translators:1.45 phpdoc/hu/Translators:1.46 --- phpdoc/hu/Translators:1.45 Sun Aug 19 13:06:17 2001 +++ phpdoc/hu/Translators Sun Aug 19 14:45:55 2001 @@ -188,8 +188,8 @@ types.xml Hojtsy Gábor 1.45 variables.xml Kontra Gergely 1.17 -------- pear --------------------------------------------------------------- -about.xml +about.xml Hojtsy Gábor 1.3 benchmark_timer.xml pear.xml -standards.xml +standards.xml Hojtsy Gábor 1.11 ----------------------------------------------------------------------------- Index: phpdoc/hu/pear/about.xml +++ phpdoc/hu/pear/about.xml <?xml encoding="iso-8859-2"?> <chapter id="pear.about"> <title>A PEAR-ről</title> <simpara> A PEAR-t <ulink url="&url.malinimg;">Malin Bakken</ulink>-nek ajánljuk, aki 1999 november 21-én született (az első PEAR program éppen két órával a születése előtt íródott). </simpara> <sect1 id="pear-whatis"> <title>Mi a PEAR?</title> <simpara> A PEAR egy kódtár, PHP kiterjesztések és PHP nyelven írt programok gyűjteménye. Megszületését a TeX CTAN és a Perl CPAN nevű hasonló központjai inspirálták. </simpara> <para> A PEAR célja: <itemizedlist> <listitem> <simpara> hogy egy szabályozott környezetet teremtsen az úrjahasználható PHP könyvtárak íróinak, hogy megoszthassák a kódjukat más fejlesztőkkel </simpara> </listitem> <listitem> <simpara> hogy infrastruktúrát adjon a PHP közösségnek programkódok cseréjéhez </simpara> </listitem> <listitem> <simpara> hogy a fejlesztőket hordozható és újrahasználható programok írásában segítő szabványokat hozzon létre </simpara> </listitem> <listitem> <simpara> hogy eszközöket adjon a kódok karbantartására és tejesztésére </simpara> </listitem> </itemizedlist> </para> </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/pear/standards.xml +++ phpdoc/hu/pear/standards.xml <?xml encoding="iso-8859-2"?> <chapter id="pear.standards"> <title>PEAR programozási szabvány</title> <note> <simpara> A PEAR programozási szabványok azokra a kódokra vonatkoznak, amik a PEAR részévé válnak, akár a PHP-vel együtt terjesztve, akár a PEAR telepítő eszközével letölthetően. </simpara> </note> <sect1 id="pear.standards.indenting"> <title>Bekezdések</title> <para> Bekezdésekhez 4 szóköz használatos. Ha az Emacs programot használod PEAR kódok szerkesztésére, az indent-tabs-mode értéket nil-re állítsd. Itt egy példa mód beállítás, ami ezeknek a szabályoknak megfelelőven szabja testre az Emacs szerkesztőt. (meg kell győződnöd róla, hogy ez végrehajtódik, amikor PHP állományokat szerkesztesz): <programlisting role="elisp"> (defun php-mode-hook () (setq tab-width 4 c-basic-offset 4 c-hanging-comment-ender-p nil indent-tabs-mode (not (and (string-match "/\\(PEAR\\|pear\\)/" (buffer-file-name)) (string-match "\.php$" (buffer-file-name)))))) </programlisting> </para> <para>Ugyanerre a dologra a vim beállítások: <programlisting role="vim"> set expandtab set shiftwidth=4 set tabstop=4 </programlisting> </para> </sect1> <sect1 id="pear.standards.control"> <title>Verzérlési szerkezetek</title> <para> Ezek az if, for, while, switch, stb. Itt egy példa if szerkezet, mivel ez a legbonyolultabb: <programlisting role="php"> <![CDATA[ if ((feltétel1) || (feltétel2)) { akció1; } elseif ((feltétel3) && (feltétel4)) { akció2; } else { akció_egyébként; } ]]> </programlisting> </para> <simpara> A vezérlési szerkezeteknél egy szóközt kell hagyni a kulcsszó és a nyitó zárójel között, hogy megkülönböztessük ezeket a függvényhívásoktól. </simpara> <simpara> Miden esetben használj kapcsos zárójeleket, més akkor is, ha technikailag elhagyhatóak lennének. Ez jobban olvashatóvá teszi a kódot, és csökkenti a logikai hibák előfordulásának esélyét, ha új kódsorokat adsz a blokkhoz. </simpara> <para> A switch szerkezet használata: <programlisting role="php"> switch (feltétel) { case 1: akció1; break; case 2: akció2; break; default: akció_egyébként; break; } </programlisting> </para> </sect1> <sect1 id="pear.standards.funcalls"> <title>Függvényhívások</title> <para> A függvényhívásoknál nem szabad szóközt tenni a függvény neve és a nyitó zárójel közé, valamint a nyitó zárójel és az első paraméter közé. A paraméterek közé szóközt kell tenni, de az utolsó paraméter után közvetlenül kell, hogy álljon a zárójel és a pontosvessző. Egy példa: <programlisting role="php"> $valtozo = ize($valami, $valalmi_mas, $teljesen_mas); </programlisting> </para> <para> Mint ahogy fent látszik, az egyenlőségjelek mindkét oldalán egy-egy szóköznek kell állnia, amikor a függvény visszatérési értékét egy változóhoz rendeled. Ha egy blokkban több hozzárendelést is el kell helyezni, több szóköz is beilleszthető az olvashatóság érdekében: <programlisting role="php"> $rovid_nev = ize($valami); $hosszu_valtozo_nev = ize($valami_mas); </programlisting> </para> </sect1> <sect1 id="pear.standards.funcdef"> <title>Függvény definíciók</title> <para> A függvény definíciók az alábbi konvenciót követik: <programlisting role="php"> function izeFuggveny($param1, $param2 = '') { if (feltétel) { utasítás_blokk; } return $valtozo; } </programlisting> </para> <para> Ay alapbeállítású értékekkel rendelkező paraméterek a lista végére kerülnek. Mindig próbálj meg egy értelmes visszatérési értéket adni a függvénynek. Egy valamivel hosszabb példa: <programlisting role="php"> <![CDATA[ function connect(&$dsn, $persistent = false) { if (is_array($dsn)) { $dsninfo = &$dsn; } else { $dsninfo = DB::parseDSN($dsn); } if (!$dsninfo || !$dsninfo['phptype']) { return $this->raiseError(); } return true; } ]]> </programlisting> </para> </sect1> <sect1 id="pear.standards.comments"> <title>Megjegyzések</title> <para> A belső dokumentáció a PHPDoc standardot követi, ami hasonló. a Javadoc dokumentációkhoz. További információk a PHPDoc-ról a <ulink url="&url.phpdoc;">&url.phpdoc;</ulink> címen találhatóak. </para> <para> A nem dokumentáció jellegű megjegyzések használata is erősen javasolt. Általános szabály, hogy ha egy kódra nézel, és azt gondolod, hogy "Ah, én nem szeretném most ezt megmagyarázni", akkor gyorsan írd oda a megjegyzéseidet, még mielőtt elfejeted, hogyan működik. </para> <para> A C stílusú (/* */) megjegyzések, és a szabványos C++ megjegyzések (//) is megfelelőek. A Perl/shell megjegyzések (#) azonban nem javasoltak. </para> </sect1> <sect1 id="pear.standards.including"> <title>Külső kód betöltése</title> <para> Bárhol, ahol feltétel nélkül betöltesz egy PHP kódot tartalmazó állományt, használd a <function>require_once</function> szerkezetet. Bárhol, ahol valamilyen feltételnek megfelelően töltesz be egy PHP állományt, (például a "factory" metódusokban), használd az <function>include_once</function> szerkezetet. Mindkettő gondoskodni fog róla, hogy a megadott állomány csak egyszer legyen megnyitva. Ugyanazt a listát használják, ezért nem kell aggódni a vegyes használatuk miatt, egy <function>require_once</function> használatával betöltött állomány nem töltődik be ismét <function>include_once</function> segítéségével. <note> <simpara> Az <function>include_once</function> és <function>require_once</function> utasítások és nem függvények. Nem <emphasis>kell</emphasis> zárójelet tenned a betöltendő állománynév köré. </simpara> </note> </para> </sect1> <sect1 id="pear.standards.tags"> <title>PHP kód blokkok</title> <para> <emphasis>Mindig</emphasis> a <literal><?php ?></literal> formát használd a PHP kódblokkok meghatározására, és nem a <literal><? ?></literal> rövidítést. Ez fontos a PEAR megfelelőség miatt, és mindenképpen a leghordozhatóbb forma a különböző operációs rendszereken és környezetekben. </para> </sect1> <sect1 id="pear.standards.header"> <title>Állomány kezdő megjegyzések</title> <para> Minden forrásállomány a PEAR disztibúcióban a következő megjegyzés blokkot tartalmazza az állomány elején: <programlisting role="php"> /* vim: set expandtab tabstop=4 shiftwidth=4: */ // +----------------------------------------------------------------------+ // | PHP version 4.0 | // +----------------------------------------------------------------------+ // | Copyright (c) 1997, 1998, 1999, 2000, 2001 The PHP Group | // +----------------------------------------------------------------------+ // | This source file is subject to version 2.0 of the PHP license, | // | that is bundled with this package in the file LICENSE, and is | // | available at through the world-wide-web at | // | http://www.php.net/license/2_02.txt. | // | If you did not receive a copy of the PHP license and are unable to | // | obtain it through the world-wide-web, please send a note to | // | [EMAIL PROTECTED] so we can mail you a copy immediately. | // +----------------------------------------------------------------------+ // | Authors: Original Author <[EMAIL PROTECTED]> | // | Your Name <[EMAIL PROTECTED]> | // +----------------------------------------------------------------------+ // // $Id$ </programlisting> </para> <para> Nincs semmilyen konrét szabály, hogy mikor kerülhet be egy új programozó a szerzők listájába egy állományban. ÁLtalánosságban a változtatásoknak a "lényeges" kategóriába kell tartozniuk (körülbelül 10-20% változás). Kivételek tehetőek függvény újraírások vagy új logika megvalósítása esetén. </para> <para> Egyszerű kód átrendezés vagy hibajavítások nem merítik ki az új szerző felvételéhez szükséges mértéket. </para> <para> A nem az alap PEAR kódtárba tartozó állományoknak is egy hasonló fejlécük lehet, jelölve a copyright és a licensz feltételeket, valamint a szerzőket. Minden állományban benne kell lennie a modeline megjegyzéseknek, hogy megtartsuk a konzisztenciát. </para> </sect1> <sect1 id="pear.standards.cvs"> <title>A CVS használata</title> <simpara> Ez a rész csak a cvs.php.net címen elérhető CVS szolgáltatással fejlesztett csomagokra érvényes. </simpara> <para> Add meg az $Id$ CVS kulcsszót minden állományban. Ahogy szerkesztesz egy állományt, add hozzá ezt a kulcsszót, ha még nincs ott (vagy helyettesítsd a korábbi "Last Modified:" vagy más formákat). <!-- <note> <simpara> We have a custom $Horde tag in Horde cvs to track our versions seperately; we could do the same and make a $PEAR tag, that would remain even if PEAR files were put into another source control system, etc...] </simpara> </note> --> </para> <para> A további részben feltesszük, hogy alapvető CVS tudásod van, és ismered a CVS ágak (branch) fogalmát. </para> <para> A CVS jelölések arra szolgálnak, hogy megadd, melyik verziója tartozik a csomagban lévő állományodnak egy kiadáshoz. Alább olvashatod a szükséges, és javasolt CVS jelöléseket: <variablelist> <varlistentry> <term>RELEASE_<replaceable>n_n</replaceable></term> <listitem> <simpara> (szükséges) Egy kiadás jelölésére használatos. Ha nem használod, nincs semmilyen mód, hogy a csomagodat megtekintsék a CVS szerveren abban az állapotban, ahogy a kiadás előtti időben volt. </simpara> </listitem> </varlistentry> <varlistentry> <term>QA_<replaceable>n_n</replaceable></term> <listitem> <simpara> (ág, elhagyható) Ha úgy gondolod, hogy ki kell adnod egy "kiadásra jelölt" (release candidate) verziót a tényleges kiadás előtt, jó ölet egy ágat nyitni annak, így el tudod különíteni, és a kritikus módosításokat át tudod vezetni a tényleges kiadás előtt. Ezalatt a fejlesztés folytatódhat a törzsben. </simpara> </listitem> </varlistentry> <varlistentry> <term>MAINT_<replaceable>n_n</replaceable></term> <listitem> <simpara> (ág, elhagyható) Ha "mikro-kiadásokat" kell csinálnod (mint az 1.2.1 az 1.2 kiadás után), erre is használhatsz egy külön ágat, ha a törzs nagyon aktív és csak kisebb változtatásokat szeretnél a mikro-kiadások között. </simpara> </listitem> </varlistentry> </variablelist> Csak a RELEASE jelölés szükséges, a többi kényelmi szempontok miatt javasolt. </para> <para> Íme egy példa, hogy hogyan kell megjelölni az 1.2 kiadását a "Money_Fast" csomagnak: <informalexample> <screen><prompt>$ </prompt><command>cd pear/Money_Fast</command> <prompt>$ </prompt><command>cvs tag RELEASE_1_2</command> <computeroutput>T Fast.php T README T package.xml </computeroutput> </screen> </informalexample> Ezt használva lehetővé teszed a PEAR webhelynek, hogy átvezessen a kiadási folyamat további lépésein. </para> <para> Itt egy példa, hogy hogyan készítsz egy QA ágat: <informalexample> <screen><prompt>$ </prompt><command>cvs tag QA_2_0_BP</command> .. <prompt>$ </prompt><command>cvs rtag -b -r QA_2_0_BP QA_2_0</command> <prompt>$ </prompt><command>cvs update -r QA_2_0</command> <prompt>$ </prompt><command>cvs tag RELEASE_2_0RC1</command> .. majd ezután a tényleges kiadás ugyanebben az ágban: <prompt>$ </prompt><command>cvs tag RELEASE_2_0</command> </screen> </informalexample> A "QA_2_0_BP" jelölő egy "ág pont" jelölő, ami az ág kiindulópontja. Mindig jó ötlet egy CVS ágat egy ilyen ág pontból nyitni. A MAINT ágak használhatják a RELEASE jelölőt az ágpontokhoz. </para> </sect1> <sect1 id="pear.standards.exampleurls"> <title>Példa URL-ek</title> <para> Használd az "example.com" címet minden példa URL-hez, ahogy az RFC 2606 javasolja. </para> </sect1> <sect1 id="pear.standards.naming"> <title>Elnevezési szabályok</title> <sect2> <title>Függvények és metódusok</title> <para> A függvényeket és a metódusokat a "studly caps" stílusban kell elnevezni (ez ismert még "bumpy case" és "camel caps" néven is). A függvények nevét ezen kívül a csomag nevével kell kezdeni, hogy elkerüljük a csomagok közötti név ütközéseket. A név első betűje (a csomagnév után) kisbetűs, minden új "szót" kezdő betű nagybetű. Néhány példa: <informaltable> <tgroup cols="3"> <tbody> <row> <entry><simpara>connect()</simpara></entry> <entry><simpara>getData()</simpara></entry> <entry><simpara>buildSomeWidget()</simpara></entry> <entry><simpara>XML_RPC_serializeData()</simpara></entry> </row> </tbody> </tgroup> </informaltable> </para> <para> Privát osztály metódusok, és tulajdonságok (azaz olyan metódusok és tulajdonságok, amelyeket csak az osztályon belüli használatra terveztél, mivel a PHP jelenleg nem támogatja a privát megkötést) elnevezésekor aláhúzásjelet kell használni a név elején. Például: <informaltable> <tgroup cols="3"> <tbody> <row> <entry><simpara>_sort()</simpara></entry> <entry><simpara>_initTree()</simpara></entry> <entry><simpara>$this->_status</simpara></entry> </row> </tbody> </tgroup> </informaltable> </para> </sect2> <sect2> <title>Állandók</title> <para> Az állandók neve mindig csupa nagybetűs, a szavakat aláhúzásjel választja el egymástól. A konstansok nevei a csomagjuk nagybetűs nevével kedződnek. Például a <literal>DB::</literal> csomag konstansai mind "<literal>DB_</literal>"-al kezdődnek. </para> </sect2> <sect2> <title>Globális változók</title> <para> Ha a csomagodnak globális változókat kell használnia, a változónévnek egy aláhúzással kell kezdődnie, amit a csomag neve követ, majd még egy aláhűzás. Például a PEAR csomag egy $_PEAR_destructor_object_list nevű globális változót használ. </para> </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: -->