tom Tue May 7 08:18:08 2002 EDT
Modified files:
/phpdoc-de/language oop.xml
Log:
finished translation
Index: phpdoc-de/language/oop.xml
diff -u phpdoc-de/language/oop.xml:1.10 phpdoc-de/language/oop.xml:1.11
--- phpdoc-de/language/oop.xml:1.10 Sun Apr 7 06:04:16 2002
+++ phpdoc-de/language/oop.xml Tue May 7 08:18:08 2002
@@ -695,44 +695,44 @@
</sect1>
<sect1 id="language.oop.magic-functions">
- <title>The magic functions <literal>__sleep</literal> and
<literal>__wakeup</literal></title>
+ <title>Die "magischen" Funktionen <literal>__sleep</literal> und
+<literal>__wakeup</literal></title>
<para>
- <function>serialize</function> checks if your class has a function with
- the magic name <literal>__sleep</literal>. If so, that function is
- being run prior to any serialization. It can clean up the object
- and is supposed to return an array with the names of all variables
- of that object that should be serialized.
+ <function>serialize</function> pr�ft, ob Ihre Klasse eine Funktion mit
+ dem magischen Namen <literal>__sleep</literal> enth�lt. Wenn dem so ist,
+ wird diese Funktion vor einer Serialisierung ausgef�hrt. Sie kann das
+ Objekt aufr�umen und soll ein Array mit den Namen aller Variablen des
+ zu serialisierenden Objektes zur�ckgeben.
</para>
<para>
- The intended use of <literal>__sleep</literal> is to close any
- database connections that object may have, committing pending
- data or perform similar cleanup tasks. Also, the function is
- useful if you have very large objects which need not be
- saved completely.
+ Die beabsichtigte Verwendung von <literal>__sleep</literal> ist,
+ eventuelle Datenbankverbindungen des Objektes zu schlie�en, noch
+ offene Daten zu committen, oder �hnliche S�uberungsaktionen
+ durchzuf�hren. Weiters ist diese Funktion hilfreich, wenn Sie
+ sehr gro�e Objekte haben, die nicht komplett gespeichert werden
+ m�ssen.
</para>
<para>
- Conversely, <function>unserialize</function> checks for the
- presence of a function with the magic name
- <literal>__wakeup</literal>. If present, this function can
- reconstruct any resources that object may have.
+ Umgekehrt pr�ft <function>unserialize</function> die Existenz einer
+ Funktion mit dem magischen Namen <literal>__wakeup</literal>. Ist
+ diese vorhanden, kann sie Ressourcen des Objektes rekonstruieren.
</para>
<para>
- The intended use of <literal>__wakeup</literal> is to
- reestablish any database connections that may have been lost
- during serialization and perform other reinitialization
- tasks.
+ Die vorgesehene Verwendung von <literal>__wakeup</literal> ist die
+ Wiederherstellung von Datenbankverbindungen, welche w�hrend der
+ Serialisierung verloren gegangen sein k�nnten, sowie andere
+ Neuinitialisierungen.
</para>
</sect1>
<sect1 id="language.oop.newref">
- <title>References inside the constructor</title>
+ <title>Referenzen innherhalb des Konstruktors</title>
<para>
- Creating references within the constructor can lead to confusing
- results. This tutorial-like section helps you to avoid problems.
+ Referenzen innerhalb des Konstruktors k�nnen zu verwirrenden
+ Resultaten f�hren. Dieser Abschnitt hilft, Probleme zu vermeiden.
<informalexample>
<programlisting role="php">
@@ -741,12 +741,12 @@
{
function Foo($name)
{
- // create a reference inside the global array $globalref
+ // eine Referenz innerhalb des globalen Arrays $globalref erstellen
global $globalref;
$globalref[] = &$this;
- // set name to passed value
+ // setze den Namen auf den �bergebenen Wert
$this->setName($name);
- // and put it out
+ // und gib' ihn aus
$this->echoName();
}
@@ -766,11 +766,10 @@
</para>
<para>
- Let us check out if there is a difference between
- <varname>$bar1</varname> which has been created using
- the copy <literal>=</literal> operator and
- <varname>$bar2</varname> which has been created using
- the reference <literal>=&</literal> operator...
+ Pr�fen wir, ob zwischen <varname>$bar1</varname>, die mittels
+ dem Operator zum Kopieren <literal>=</literal> erstellt wurde,
+ und <varname>$bar2</varname>, die mittels dem Referenzoperator
+ <literal>=&</literal> erstellt wurde, besteht...
<informalexample>
<programlisting role="php">
@@ -779,7 +778,7 @@
$bar1->echoName();
$globalref[0]->echoName();
-/* output:
+/* Ausgabe:
set in constructor
set in constructor
set in constructor */
@@ -788,7 +787,7 @@
$bar2->echoName();
$globalref[1]->echoName();
-/* output:
+/* Ausgabe:
set in constructor
set in constructor
set in constructor */
@@ -797,49 +796,50 @@
</informalexample>
</para>
<para>
- Apparently there is no difference, but in fact there is a
- very significant one: <varname>$bar1</varname> and
- <varname>$globalref[0]</varname> are _NOT_ referenced, they
- are NOT the same variable. This is because "new" does not
- return a reference by default, instead it returns a copy.
+ Scheinbar besteht kein Unterschied, aber tats�chlich existiert ein
+ signifikanter: <varname>$bar1</varname> und
+ <varname>$globalref[0]</varname> sind NICHT referenziert, d.h. sie
+ sind NICHT die selbe Variable. Das kommt daher, dass "new" nicht
+ automatisch eine Referenz, sondern eine Kopie zur�ckgibt.
<note>
<simpara>
- There is no performance loss (since PHP 4 and up use reference
- counting) returning copies instead of references. On the
- contrary it is most often better to simply work with copies
- instead of references, because creating references takes some
- time where creating copies virtually takes no time (unless none
- of them is a large array or object and one of them gets changed
- and the other(s) one(s) subsequently, then it would be wise to
- use references to change them all concurrently).
+ Das zur�ckgeben von Kopien anstatt von Referenzen stellt keinen
+ Performanceverlust dar (da PHP 4 und h�her Reference Counting
+ verwendet). Andererseits ist es sehr oft besser, einfach mit Kopien
+ anstatt mit Referenzen zu arbeiten, da die Erstellung von Referenzen
+ etwas Zeit in Anspruch nimmt, w�hrend das Erstellen von Kopien so gut
+ wie keine Zeit braucht (sofern keine von ihnen ein gro�es Array oder
+ Objekt ist, und eines davon ge�ndert wird und das/die andere/n
+ nachtr�glich. In diesem Fall w�re es besser, Referenzen zu verwenden,
+ um sie alle gleichzeitig zu �ndern).
</simpara>
</note>
- To prove what is written above let us watch the code below.
+ Um das zuvor geschriebene zu beweisen, sehen wir uns den folgenden Code an.
<informalexample>
<programlisting role="php">
<![CDATA[
-// now we will change the name. what do you expect?
-// you could expect that both $bar1 and $globalref[0] change their names...
+// nun werden wir den Namen �ndern. Was erwarten Sie?
+// ...dass sowohl $bar1, als auch $globalref[0] ihre Namen �ndern...
$bar1->setName('set from outside');
-// as mentioned before this is not the case.
+// wie bereits zuvor erw�hnt, ist dies nicht der Fall
$bar1->echoName();
$globalref[0]->echoName();
-/* output:
+/* Ausgabe:
set from outside
set in constructor */
-// let us see what is different with $bar2 and $globalref[1]
+// lassen Sie uns den Unterschied zwischen $bar2 and $globalref[1] ansehen
$bar2->setName('set from outside');
-// luckily they are not only equal, they are the same variable
-// thus $bar2->name and $globalref[1]->name are the same too
+// gl�cklicherweise sind sie nicht nur nicht gleich, sondern auch die selbe
+// Variable; demnach sind $bar2->name und $globalref[1]->name ebenfalls gleich
$bar2->echoName();
$globalref[1]->echoName();
-/* output:
+/* Ausgabe:
set from outside
set from outside */
]]>
@@ -847,7 +847,7 @@
</informalexample>
</para>
<para>
- Another final example, try to understand it.
+ Ein anderes, letztes Beispiel zum Verst�ndnis:
<informalexample>
<programlisting role="php">
@@ -857,7 +857,7 @@
function A($i)
{
$this->value = $i;
- // try to figure out why we do not need a reference here
+ // finden Sie heraus, warum wir hier keine Referenz ben�tigen
$this->b = new B($this);
}
@@ -886,8 +886,8 @@
}
}
-// try to undestand why using a simple copy here would yield
-// in an undesired result in the *-marked line
+// �berlegen Sie, warum hier die Verwendung einer einfachen Kopie in der
+// mit * markierten Zeile zu einem unerw�nschten Ergebnis f�hren w�rde
$a =& new A(10);
$a->createRef();
@@ -902,7 +902,7 @@
$a->c->echoValue();
/*
-output:
+Ausgabe:
class A: 10
class B: 10
class B: 10