mk              Fri May 18 14:08:07 2001 EDT

  Added files:                 
    /phpdoc/de/pear     standards.xml 

  Modified files:              
    /phpdoc/de  Translators 
    /phpdoc/de/pear     about.xml 
  Log:
  PEAR Stuff updated, committed Files by Thomas Sch�fbeck
  
Index: phpdoc/de/Translators
diff -u phpdoc/de/Translators:1.164 phpdoc/de/Translators:1.165
--- phpdoc/de/Translators:1.164 Fri May 18 13:13:06 2001
+++ phpdoc/de/Translators       Fri May 18 14:08:07 2001
@@ -147,7 +147,8 @@
 variables.xml               Thomas Schuermann       fertig
 -------- pear --------------------------------------------------------------
 about.xml                  Mark Kronsbein          fertig
+                           Thomas Sch�fbeck
 pear.xml
-standards.xml
+standards.xml              Thomas Sch�fbeck        fertig
 ----------------------------------------------------------------------------
 preface.xml                 Egon Schmid             fertig  
Index: phpdoc/de/pear/about.xml
diff -u phpdoc/de/pear/about.xml:1.1 phpdoc/de/pear/about.xml:1.2
--- phpdoc/de/pear/about.xml:1.1        Wed May 16 16:45:01 2001
+++ phpdoc/de/pear/about.xml    Fri May 18 14:08:07 2001
@@ -2,39 +2,41 @@
   <title>�ber PEAR</title>
   <simpara>
    PEAR ist <ulink url="&url.malinimg;">Malin Bakken</ulink> gewidmet,
-   geboren am 1999-11-21 (der erste PEAR Code wurde zwei Stunden vor 
-   ihrer Geburt geschrieben).
+   die am 21.11.1999 geboren wurde (der erste PEAR Code wurde gerade 
+   einmal zwei Stunden vor ihrer Geburt geschrieben).
   </simpara>
 
   <sect1 id="pear-whatis">
-   <title>Was ist PEAR?</title>
+   <title>Whas ist PEAR?</title>
    <simpara>
-    PEAR ist eine Code Sammlung f�r PHP Erweiterungen und PHP Code-Bibliotheken
-    angeregt durch TeX's CTAN und Perl's CPAN.
+    PEAR ist ein Code-Archiv f�r PHP Erweiterungen und PHP 
+    Bibliotheken, inspiriert von TeX's CTAN und Perl's CPAN.
    </simpara>
    <para>
-    Das Ziel von PEAR ist:
+    Der Zweck von PEAR ist:
     <itemizedlist>
      <listitem>
       <simpara>
-       Autoren einheitliche Mittel bereitzustellen, um andere
-       Entwicklern an ihrem Code teilhaben zu lassen
+       eine einheitliche M�glichkeit f�r Autoren von Bibliotheken zu 
+       bieten, andere Entwickler an ihrem Code mitarbeiten, bzw. ihren 
+       Code mitverwenden zu lassen
       </simpara>
      </listitem>
      <listitem>
       <simpara>
-       der PHP Community eine Infrastruktur zur Verbreitung von Code zu bieten
+       der PHP-Gemeinde eine Infrastruktur zu geben, um sich die gleiche 
+       Code-Basis teilen zu k�nnen
       </simpara>
      </listitem>
      <listitem>
       <simpara>
-       Standards festzulegen, welche Entwicklern helfen, portierbaren und
-       benutzbaren Code zu schreiben
+       Standards zu definieren, um die Entwickler beim Schreiben von 
+       portablem und wiederverwendbarem Code zu unterst�tzen
       </simpara>
      </listitem>
      <listitem>
       <simpara>
-       Werkzeuge f�r Verwaltung und Verbreitung von Code bereitzustellen
+       Werkzeuge zur Wartung und Verteilung der Codes anzubieten
       </simpara>
      </listitem>
     </itemizedlist>

Index: phpdoc/de/pear/standards.xml
+++ phpdoc/de/pear/standards.xml
 <chapter id="pear.standards">
  <title>PEAR Codierstandards</title>
  <sect1 id="pear.standards.indenting">
   <title>Einr�cken</title>
   <para>
    Benutzen Sie Einr�ckungen von 4 Zeichen, ohne Tabulatoren. Wenn Sie 
    Emacs zum editieren von PEAR Code verwenden, sollten Sie den
    indent-tabs-mode auf nil setzen. Hier ist ein Beispiel f�r einen 
    mode-hook, welcher Emacs entsprechend dieser Richtlinien konfiguriert
    (versichern Sie sich, da� der mode-hook auch aufgerufen wird, wenn Sie 
    PHP Dateien editieren):
    <programlisting role="elisp">
(defun php-mode-hook ()
  (setq tab-width 4
        c-basic-offset 4
        c-hanging-comment-ender-p nil
        indent-tabs-mode nil))
</programlisting>
   </para>
   <para>Hier sind die vim rules f�r das gleiche Problem:
    <programlisting role="vim">
  set expandtab 
  set shiftwidth=4 
  set tabstop=4 
</programlisting>
   </para>
  </sect1>

  <sect1 id="pear.standards.control">
   <title>Kontrollstrukturen</title>
   <para>
    Diese beinhalten if, for, while, switch, etc. Hier ein Beispiel f�r 
    eine if Anweisung, nachdem es die komplizierteste von ihnen ist: 
    <programlisting role="php">
if ((Bedingung1) || (Bedingung2)) {
    Anweisung1;
} elseif ((Bedingung3) &amp;&amp; (Bedingung4)) {
    Anweisung2;
} else {
    Default-Anweisung;
}
</programlisting>
   </para>
   <simpara>
    Kontrollstrukturen sollten ein Leerzeichen zwischen dem Schl�sselwort 
    und der �ffnenden Klammer haben, um sie von Funktionsaufrufenbesser zu 
    unterscheiden.
   </simpara>
   <simpara>
    Sie sollten immer geschweifte Klammern benutzen auch wenn sie in 
    manchen Situationen rein technisch nur optional anzuwenden sind. Sie 
    zu verwenden erh�ht nicht nur die Lesbarkeit und vermindert daher die 
    Wahrscheinlichkeit von logischen Fehlern, wenn neue Zeilen hinzugef�gt
    werden.
   </simpara>
   <para>
    F�r switch-Anweisungen:
     <programlisting role="php">
switch (Bedingung) {
case 1:
    Anweisung1;
    break;

case 2:
    Anweisung2;
    break;

default:
    Default-Anweisung;
    break;

}
</programlisting>
   </para>
  </sect1>

  <sect1 id="pear.standards.funcalls">
   <title>Funktionsaufrufe</title>
   <para>
    Funktionsaufrufe sollten zwischen dem Funktionsnamen, der �ffnenden 
    Klammer, und dem ersten Parameter, sowie zwischen dem letzten Parameter 
    und der schlie�enden Klammer keine Leerzeichen enthalten. Die einzelnen 
    Parameter sollten zwischen den Beistrichen und dem n�chsten Parameter 
    durch Leerzeichen getrennt werden. Hier ein Beispiel:
    <programlisting role="php">
$var = foo($bar, $baz, $quux);
</programlisting>
   </para>
   <para>
    Wie oben gezeigt, sollte das zur Zuweisung des R�ckgabewertes einer 
    Funktion an eine Variable verwendete Gleichheitszeichen auf jeder Seite 
    von einem Leerzeichen umgeben sein. Im Falle eines Blocks von 
    Zuweisungen k�nnen mehrere Leerzeichen eingef�gt werden, um die 
    Lesbarkeit zu erh�hen: 
    <programlisting role="php">
$short         = foo($bar);
$long_variable = foo($baz);
</programlisting>
   </para>
  </sect1>

  <sect1 id="pear.standards.funcdef">
   <title>Funktionsdefinitionen</title>
   <para>
    Funktionsdeklarationen folgen der "eine entsprechnde Klammer" Konvention:
    <programlisting role="php">
function fooFunction($arg1, $arg2 = '')
{
    if (Bedingung) {
        Anweisung;
    }
    return $val;
}
</programlisting>
   </para>
   <para>
    Argumente mit Default-Werten werden am Ende der Argumentenliste 
    aufgef�hrt. Versuchen Sie immer einen bedeutungsvollen Wert von einer
    Funktion zur�ckzugeben, wenn ein R�ckgabewert angebracht ist. Hier ein 
    etwas l�ngeres Beispiel:
    <programlisting role="php">
function connect(&amp;$dsn, $persistent = false)
{
    if (is_array($dsn)) {
        $dsninfo = &amp;$dsn;
    } else {
        $dsninfo = DB::parseDSN($dsn);
    }
    
    if (!$dsninfo || !$dsninfo['phptype']) {
        return $this->raiseError();
    }
    
    return true;
}
    </programlisting>
   </para>
  </sect1>

  <sect1 id="pear.standards.comments">
   <title>Kommentare</title>
   <para>
    Inline-Dokumentation f�r Klassen sollten entsprechend der PHPDoc 
    Konvention erfolgen (�hnlich Javadoc). Mehr Information �ber PHPDoc
    finden Sie hier: <ulink url="&url.phpdoc;">&url.phpdoc;</ulink>
   </para>
   <para>
    Weitere Kommentare, welche nicht der Klassendokumentation dienen, werden 
    nachdr�cklich empfohlen. Eine generelle Faustregel ist: Wenn Sie auf ein 
    St�ck Code blicken und denken "Wow, ich m�chte das nicht versuchen und 
    beschreiben", da� Sie es auf jeden Fall kommentieren sollten, bevor Sie 
    vergessen, wie es funktioniert.
   </para>
   <para>
    Kommentare im Stil von C (/* */) und C++ (// ) sind zu verwenden, 
    w�hrend Kommentare im Stile von perl/shell (#) zu vermeiden sind.
   </para>
  </sect1>

  <sect1 id="pear.standards.including">
   <title>Einf�gen von Code</title>
   <para>
    Verwenden Sie �berall dort, wo Sie bedingungslos eine Klassendatei 
    einf�gen <function>require_once</function>. Wenn Sie eine Klassendatei 
    bedingt einf�gen wollen (z.B. Fabrikmethoden) verwenden Sie 
    <function>include_once</function>. Beide Anweisungen stellen sicher, da� 
    die einzuf�gende Datei nur einmal eingef�gt wird. Sie benutzen die selbe 
    Dateiliste, weshalb Sie sich keine Sorgen �ber deren gleichzeitige 
    Benutzung machen brauchen - alle mittels <function>require_once</function> 
    eingef�gten Dateien werden mittels <function>include_once</function> 
    nicht noch einmal eingef�gt.
    <note>
     <simpara>
      <function>include_once</function> und
      <function>require_once</function> sind Statements, keine Funktionen. 
      Sie <emphasis>ben�tigen</emphasis> keine Klammern um den Dateinamen, 
      um die Datei einzuf�gen.
     </simpara>
    </note>
   </para>    
  </sect1>

  <sect1 id="pear.standards.tags">
   <title>PHP Code Tags</title>
   <para>
    Benutzen Sie <emphasis>immer</emphasis> <literal>&lt;?php ?></literal> 
    um den PHP Code zu begrenzen, und nicht die Kurzform 
    <literal>&lt;? ?></literal>. Dies ist zur PEAR Konformit�t erforderlich
    und ist auch der portabelste Weg, PHP Code auf verschiedenen 
    Betriebssystemen bzw. Setups einzuf�gen.
   </para>
  </sect1>

  <sect1 id="pear.standards.header">
   <title>Kommentare im Dateikopf</title>
   <para>
    Alle Source Code-Dateien in der PEAR Kerndistribution sollten den 
    folgenden Kommentarblock am Anfang der Datei enthalten:
    <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]>                        |
// |          Ihr Name &lt;[EMAIL PROTECTED]>                                 |
// +----------------------------------------------------------------------+
//
// &dollar;Id&dollar;
</programlisting>
   </para>
   <para>   
    Es gibt keine festen Regeln, wann ein neuer Code Autor f�r seine 
    Beitr�ge der Liste von Autoren hinzugef�gt werden sollte. Generell 
    sollten dessen �nderungen in die Kategorie "Erheblich" fallen (d.h. 
    sie sollten irgendwo bei 10 bis 20 Prozent der Code�nderungen liegen).
    Ausnahmen k�nnten f�r das Umschreiben von Funktionen oder das Beisteuern 
    einer neuen Logik gemacht werden. 
   </para>
   <para>
    Einfache Reorganisation von Code oder das beheben von Bugs w�rde ein 
    Hinzuf�gen einer neuen Person in die Liste der Autoren nicht rechtfertigen. 
   </para>
   <para>
    Dateien au�erhalb des PEAR Kernarchivs sollten einen �hnlichen Block mit 
    Copyright, Lizenz, und den Autoren aufweisen. Alle Dateien sollten 
    au�erdem die modeline Kommentare enthalten, um die Konsistenz zu f�rdern. 
   </para>
  </sect1>

  <sect1 id="pear.standards.cvstags">
   <title>CVS Tags</title>
   <para>
    F�gen Sie den &dollar;Id&dollar; CVS Tag in jede Datei ein. Wenn Sie 
    eine Datei editieren und dieser Tag noch nicht vorhanden ist, f�gen Sie 
    ihn bitte hinzu (oder ersetzen Sie bereits vorhandene Formen wie "Last 
    Modified:", etc.).
    <note>
     <simpara>
      Wir haben einen speziellen $Horde Tag in Horde CVS, um unsere 
      Versionen getrennt zu verfolgen; wir k�nnten das gleiche tun und 
      einen $PEAR Tag einf�hren, welcher auch bleiben w�rde, wenn die 
      PEAR Dateien einmal von einem anderen Source-Kontrollsystem 
      verwaltet werden, etc.
     </simpara>
    </note>
   </para>
  </sect1>

  <sect1 id="pear.standards.exampleurls">
   <title>Beispiel URLs</title>
   <para>
    Verwenden Sie "example.com" lt. RFC 2606 f�r alle Beispiel URLs.
   </para>
  </sect1>

  <sect1 id="pear.standards.constants">
   <title>Konstanten benennen</title>
   <para>
    Konstanten sollten immer in Gro�buchstaben benannt werden, und die 
    Worttrennung sollte mit Unterstrichen erfolgen. Geben Sie als Pr�fix
    zum Konstantennamen den Namen der Klasse bzw. des Paketes an, in 
    welcher die Konstante benutzt wird. Zum Beispiel beginnen alle 
    Konstanten, welche von dem <literal>DB::</literal> - Paket benutzt 
    werden, mit "<literal>DB_</literal>". 
   </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:
-->

Reply via email to