jan             Wed Dec 12 16:32:14 2001 EDT

  Modified files:              
    /phpdoc/de/language references.xml 
  Log:
  updated translatein (& with new) and fixed CDATA sections
  
  
Index: phpdoc/de/language/references.xml
diff -u phpdoc/de/language/references.xml:1.10 phpdoc/de/language/references.xml:1.11
--- phpdoc/de/language/references.xml:1.10      Wed Dec 12 15:46:23 2001
+++ phpdoc/de/language/references.xml   Wed Dec 12 16:32:14 2001
@@ -28,7 +28,9 @@
 
     <informalexample>
      <programlisting role="php">
+<![CDATA[
 $a =&amp; $b 
+]]>
      </programlisting>
     </informalexample>
 
@@ -43,18 +45,44 @@
     </note>
    </para>
    <para>
+   Seit PHP 4.0.4 kann <literal>&</literal> auch in Verbindung mit
+   <literal>new</literal> verwendet werden.
+   <informalexample>
+     <programlisting role="php">
+<![CDATA[
+$bar =& new fooclass();
+$foo =& find_var ($bar);
+]]>
+     </programlisting>
+    </informalexample>
+    </para>
+    <note>
+     <para>
+     Wenn der <literal>&</literal> Operator nicht verwendet wird, erzeugt
+     PHP eine Kopie des Objekts. Wenn nun <literal>$this</literal> innerhalb 
+     der Klasse verwendet wird, bezieht es sich auf die aktuelle Instanz der 
+     Klasse. Die Zuordnung ohne <literal>&</literal> erzeugt eine Kopie der 
+     Instanz (d.h. des Objekts) und <literal>$this</literal> wird sich auf 
+     die Kopie beziehen. In der Regel will man aus Performance- und 
+     Speicherverbrausgr&uuml;nden nur eine einzige Instanz einer Klasse
+     erzeugen. Daf&uuml;r stellt PHP den <literal>&</literal> bereit. 
+     </para>
+   </note>
+   
     Eine weitere Einsatzm&ouml;glichkeit von Referenzen ist die &Uuml;bergabe 
     von Parametern an eine Funktion mit pass-by-reference. Hierbei 
     beziehen sich der lokale Variablenname als auch der Variablenname 
     der aufrufenden Instanz auf denselben Variableninhalt:
     <informalexample>
      <programlisting role="php">
+<![CDATA[
 function foo (&amp;$var) {
     $var++;
 }
 
 $a=5;
 foo ($a);
+]]>
      </programlisting>
     </informalexample>
     Nach der Ausf&uuml;hrung hat <varname>$a</varname> den Wert 6, da sich 
@@ -77,10 +105,12 @@
     erwarten w&uuml;rde:
     <informalexample>
      <programlisting role="php">
+<![CDATA[
 function foo (&amp;$var) {
     $var =&amp; $GLOBALS["baz"];
 }
 foo($bar); 
+]]>
      </programlisting>
     </informalexample>
    </para>
@@ -106,6 +136,7 @@
     Syntax zu beachten:
     <informalexample>
      <programlisting role="php">
+<![CDATA[
 function &amp;find_var ($param) {
     ...code...
     return $found_var;
@@ -113,6 +144,7 @@
 
 $foo =&amp; find_var ($bar);
 $foo->x = 2; 
+]]>
      </programlisting>
     </informalexample>
     In diesem Beispiel wird also die Eigenschaft des von 
@@ -137,9 +169,11 @@
     wird hierbei nicht gel&ouml;scht. Betrachten wir folgendes Beispiel:
     <informalexample>
      <programlisting role="php">
+<![CDATA[
 $a = 1;
 $b =&amp; $a;
 unset ($a); 
+]]>
      </programlisting>
     </informalexample>
     Die Variable <varname>$b</varname> wird nicht gel&ouml;scht, sondern es 
@@ -170,7 +204,9 @@
      sie ist also &auml;quivalent zu folgendem:
      <informalexample>
       <programlisting role="php">
+<![CDATA[
 $var =&amp; $GLOBALS["var"];
+]]>
       </programlisting>
      </informalexample>
     </para>


Reply via email to