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>&lt;?php ?></literal>
    formát használd a PHP kódblokkok meghatározására, és nem a
    <literal>&lt;? ?></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 &lt;[EMAIL PROTECTED]>                        |
// |          Your Name &lt;[EMAIL PROTECTED]>                                 |
// +----------------------------------------------------------------------+
//
// &dollar;Id&dollar;
</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 &dollar;Id&dollar; 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:
-->

Reply via email to