com doc/de: sync with EN: language/variables.xml

[email protected] (Martin Samesch)
Newsgroups php.doc.de
Message-ID <[email protected]>
Commit:    461a85a4e945641bde6d7b2cc4c56e6bfc3b3ba4
Author:    Martin Samesch <[email protected]>         Sun, 17 Jan 2021 11:52:40 +0100
Parents:   c9bd1c3b2dc6f2b26a18535f3791193fc9eb086a
Branches:  master

Link:       http://git.php.net/?p=doc/de.git;a=commitdiff;h=461a85a4e945641bde6d7b2cc4c56e6bfc3b3ba4

Log:
sync with EN

Changed paths:
  M  language/variables.xml
diff_461a85a4e945641bde6d7b2cc4c56e6bfc3b3ba4.txt (text/plain, 18.2 KB)
diff --git a/language/variables.xml b/language/variables.xml
index e219db53f..049f01ce2 100644
--- a/language/variables.xml
+++ b/language/variables.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- $Revision$ -->
-<!-- EN-Revision: 498e7a69fb58ed6d9f58a6f9155e9278117caa94 Maintainer: nobody Status: ready -->
+<!-- EN-Revision: 4a7ddddc27271967b616ad3400cfbe2a9b48212b Maintainer: nobody Status: ready -->
 <!-- Credits: betz -->
 
  <chapter xml:id="language.variables" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
@@ -33,7 +33,10 @@
 
    <note>
     <simpara>
-     <literal>$this</literal> ist eine spezielle Variable, die nicht geändert werden kann.
+     <literal>$this</literal> ist eine spezielle Variable, die nicht geändert
+     werden kann. Vor PHP 7.1.0 war die indirekte Zuweisung (z.B. durch die
+     Verwendung von <link linkend="language.variables.variable">variable
+     Variablen</link>) möglich.
     </simpara>
    </note>
 
@@ -177,18 +180,15 @@ var_dump($unset_obj);
     </example>
    </para>
    <para>
-    Es ist problematisch sich auf den Vorgabewert einer nicht 
-    initialisierten Variable zu verlassen, wenn Sie Dateien inkludieren
-    die die gleichen Variablennamen benutzen.
-    Wenn <link linkend="ini.register-globals">register_globals</link>
-    aktiviert ist führt dies zu einem extremen <link
-    linkend="security.globals">Sicherheitsproblem</link>.
-    Bei Zugriffen auf nicht initialisierte Variablen wird ein 
-    Fehler der Stufe <link linkend="errorfunc.constants.errorlevels.e-notice">E_NOTICE</link>
-    ausgelöst, dies trifft allerdings nicht auf das Anfügen
-    von Elementen an nicht initialisierte Arrays zu. 
-    Das <function>isset</function> Sprachkonstrukt kann genutzt werden,
-    um zu prüfen ob eine Variable bereits initialisiert wurde.
+    Es ist problematisch sich auf den Vorgabewert einer nicht initialisierten
+    Variable zu verlassen, wenn Sie eine Datei in eine andere inkludieren, die
+    den gleichen Variablennamen benutzt. Bei Zugriffen auf nicht
+    initialisierte Variablen wird ein Fehler der Stufe <link
+    linkend="errorfunc.constants.errorlevels.e-notice">E_NOTICE</link>
+    ausgelöst, dies trifft allerdings nicht auf das Anfügen von Elementen an
+    nicht initialisierte Arrays zu. Das <function>isset</function>
+    Sprachkonstrukt kann genutzt werden, um zu prüfen ob eine Variable bereits
+    initialisiert wurde.
    </para>
   </sect1>
 
@@ -196,45 +196,29 @@ var_dump($unset_obj);
    <title>Vordefinierte Variablen</title>
 
    <para>
-    PHP bietet jedem ausgeführtem Skript eine Vielzahl von
-    vordefinierten Variablen an. Viele dieser Variablen können
-    jedoch nicht vollständig erläutert werden, da sie abhängig
-    sind vom Web-Server, der Version und dem Setup des Web-
-    Servers sowie weiteren Faktoren. Einige dieser Variablen
+    PHP bietet jedem ausgeführtem Skript eine Vielzahl von vordefinierten
+    Variablen an. Viele dieser Variablen können jedoch nicht vollständig
+    erläutert werden, da sie abhängig sind vom Web-Server, der Version und dem
+    Setup des Web- Servers sowie weiteren Faktoren. Einige dieser Variablen
     stehen nicht zur Verfügung, wenn PHP-Skripte per <link
-    linkend="features.commandline">Kommando-Zeilen-Aufruf</link>
-    ausgeführt werden. Für eine Liste dieser Variablen lesen Sie bitte
-    den Abschnitt <link linkend="reserved.variables">Vordefinierte
-    Variablen</link>.
+    linkend="features.commandline">Kommando-Zeilen-Aufruf</link> ausgeführt
+    werden. Details hierzu sind unter <link
+    linkend="reserved.variables">Vordefinierte Variablen</link> zu finden.
    </para>
 
    <para>
-    In PHP stehen eine zusätzliche Reihe
-    vordefinierter Arrays zur Verfügung, die Variablen vom Webserver
-    (gegebenenfalls), von der Umgebung und von Benutzereingaben
-    enthalten. Diese Arrays sind insofern etwas sehr Spezielles,
-    als sie automatisch global sind – d.h., sie stehen automatisch in
-    jedem Geltungsbereich zur Verfügung. Deshalb sind sie auch bekannt als
-    "Superglobale". (Es gibt in PHP keinen
-    Mechanismus für benutzerdefinierte Superglobale.) Die Superglobale sind unter
-    <link linkend="language.variables.superglobals">hier</link> zu finden; aber für eine Liste ihres Inhalts
-    und die weitere Diskussion vordefinierter Variablen und ihres
-    Wesens lesen Sie bitte den Abschnitt <link
-    linkend="reserved.variables">Reservierte vordefinierte
-    Variablen</link>.
+    In PHP stehen eine zusätzliche Reihe vordefinierter Arrays zur Verfügung,
+    die Variablen vom Webserver (gegebenenfalls), von der Umgebung und von
+    Benutzereingaben enthalten. Diese Arrays sind insofern etwas sehr
+    Spezielles, als sie automatisch global sind – d.h., sie stehen automatisch
+    in jedem Geltungsbereich zur Verfügung. Deshalb sind sie auch bekannt als
+    "Superglobale". (Es gibt in PHP keinen Mechanismus für benutzerdefinierte
+    Superglobale.) Details hierzu sind unter <link
+    linkend="language.variables.superglobals">Liste der Superglobalen</link>
+    zu finden.
    </para>
 
    <note>
-    <para>
-     Vor PHP 5.4 war die althergebrachte Methode Informationen über die HTTP-Anfrage
-     mit den <literal>HTTP_*_VARS</literal> anstatt der Superglobalen zu ermitteln noch
-     immer möglich. Dieses Feature konnte von PHP 5.0.0 an mit der
-     <link linkend="ini.register-long-arrays">register_long_arrays</link> Direktive
-     deaktiviert werden.
-    </para>
-   </note>
-
-   <note>
     <title>Variable Variablen</title>
     <para>
      Superglobale können innerhalb von Funktionen und Methoden nicht als 
@@ -275,9 +259,9 @@ include 'b.inc';
    <simpara>
     Die Variable $a ist auch in der eingebundenen Datei
     <filename>b.inc</filename> verfügbar. In benutzerdefinierten Funktionen
-    wird jedoch ein auf die Funktion beschränkter Geltungsbereich eingeführt. Jede in
-    einer Funktion benutzte Variable ist zunächst auf den lokalen Bereich
-    der Funktion beschränkt, z.B.:
+    wird jedoch ein auf die Funktion beschränkter Geltungsbereich eingeführt.
+    Jede in einer Funktion benutzte Variable ist zunächst auf den lokalen
+    Bereich der Funktion beschränkt, z.B.:
    </simpara>
    <informalexample>
     <programlisting role="php"> 
@@ -296,8 +280,8 @@ test ();
    </informalexample>
    <simpara>
     Dieses Skript erzeugt keine Bildschirm-Ausgabe, da sich die Echo-
-    Anweisung auf eine lokale Variable namens <varname>$a</varname>
-    bezieht, und dieser kein Wert im lokalen Geltungsbereich zugewiesen worden ist.
+    Anweisung auf eine lokale Variable namens <varname>$a</varname> bezieht,
+    und dieser kein Wert im lokalen Geltungsbereich zugewiesen worden ist.
     Dies ist ein kleiner Unterschied zu C, wo globale Variablen auch in
     Funktionen vorhanden sind, es sei denn, sie werden durch eine
     funktionsinterne Definition überschrieben. Das kann zu Problemen führen,
@@ -396,9 +380,9 @@ function test_superglobal()
    </para>
    <note>
     <para>
-     Die Verwendung des <literal>global</literal>-Schlüsselworts außerhalb einer
-     Funktion ist kein Fehler. Es kann verwendet werden, wenn die Datei von innerhalb
-     einer Funktion eingebunden wird.
+     Die Verwendung des <literal>global</literal>-Schlüsselworts außerhalb
+     einer Funktion ist kein Fehler. Es kann verwendet werden, wenn die Datei
+     von innerhalb einer Funktion eingebunden wird.
     </para>
    </note>
   </sect2>
@@ -431,12 +415,12 @@ function test ()
    </para>
    <simpara>
     Diese Funktion ist sinnlos, da sie bei jedem Aufruf <varname>$a</varname>
-    auf <literal>0</literal> setzt und <literal>0</literal> ausgibt. Die Anweisung
-    <varname>$a</varname>++, welche den Wert erhöht, ergibt hier keinen Sinn, da der Wert von
-    <varname>$a</varname> beim Verlassen der Funktion verloren geht. Um eine
-    sinnvolle Zählfunktion zu implementieren, die ihren aktuell gesetzten Wert
-    nicht vergisst, müssen Sie die Variable <varname>$a</varname> als statisch
-    deklarieren:
+    auf <literal>0</literal> setzt und <literal>0</literal> ausgibt. Die
+    Anweisung <varname>$a</varname>++, welche den Wert erhöht, ergibt hier
+    keinen Sinn, da der Wert von <varname>$a</varname> beim Verlassen der
+    Funktion verloren geht. Um eine sinnvolle Zählfunktion zu implementieren,
+    die ihren aktuell gesetzten Wert nicht vergisst, müssen Sie die Variable
+    <varname>$a</varname> als statisch deklarieren:
    </simpara>
    <para>
     <example>
@@ -456,20 +440,19 @@ function test()
     </example>
    </para>
    <simpara>
-    Nun wird <varname>$a</varname> nur beim ersten Aufruf der Funktion initialisiert,
-    und jedes mal wenn die <literal>test()</literal>-Funktion aufgerufen wird, wird
-    sie den Wert von <varname>$a</varname> ausgeben, und den Variablenwert erhöhen.
+    Nun wird <varname>$a</varname> nur beim ersten Aufruf der Funktion
+    initialisiert, und jedes mal wenn die <literal>test()</literal>-Funktion
+    aufgerufen wird, wird sie den Wert von <varname>$a</varname> ausgeben, und
+    den Variablenwert erhöhen.
    </simpara>
 
    <simpara>
-    Statische Variablen ermöglichen auch einen Weg zum Umgang mit
-    rekursiven Funktionen. Das sind Funktionen, die sich selbst
-    aufrufen. Hierbei besteht die Gefahr, so genannte Endlos-
-    Schleifen zu programmieren. Sie müssen also einen Weg vorsehen,
-    diese Rekursion zu beenden. Die folgende einfache Funktion zählt
-    rekursiv bis 10. Die statische Variable
-    <varname>$count</varname> wird benutzt, um die Rekursion zu
-    beenden:
+    Statische Variablen ermöglichen auch einen Weg zum Umgang mit rekursiven
+    Funktionen. Das sind Funktionen, die sich selbst aufrufen. Hierbei besteht
+    die Gefahr, so genannte Endlos- Schleifen zu programmieren. Sie müssen
+    also einen Weg vorsehen, diese Rekursion zu beenden. Die folgende einfache
+    Funktion zählt rekursiv bis 10. Die statische Variable
+    <varname>$count</varname> wird benutzt, um die Rekursion zu beenden:
    </simpara>
    <para>
     <example>
@@ -493,22 +476,20 @@ function test()
      </programlisting>
     </example>
    </para>
-   <note>  
-    <para>  
-     Statische Variablen werden wie in oben stehenden Beispielen deklariert. 
-     Von PHP 5.6 an ist es möglich diesen Variablen Werte zuzuweisen, die das Ergebnis
-     von Ausdrücken sind, aber es dürfen hier keine Funktion verwendet werden,
-     was einen Parse-Fehler auslöst.
-    </para> 
-    <para>  
-     <example>
-      <title>Statische Variablen deklarieren</title>
-      <programlisting role="php">
-<![CDATA[
+   <para>  
+    Statischen Variablen können Werte zugewiesen werden, die das, Ergebnis
+    von konstanten Ausdrücken sind, aber dynamische Ausdrücke, wie z.B.
+    Funktionsaufrufe, verursachen einen Parse-Fehler.
+   </para> 
+   <para>  
+    <example>
+     <title>Statische Variablen deklarieren</title>
+     <programlisting role="php">
+  <![CDATA[
 <?php
 function foo(){
     static $int = 0;          // korrekt
-    static $int = 1+2;        // korrekt (von PHP 5.6 an)
+    static $int = 1+2;        // korrekt
     static $int = sqrt(121);  // falsch (da es eine Funktion ist)
 
     $int++;
@@ -519,7 +500,6 @@ function foo(){
      </programlisting>
     </example>
    </para> 
-  </note>
    <note>
     <para>
      Statische Deklarationen werden zur Übersetzungszeit aufgelöst.
@@ -727,43 +707,34 @@ echo "$a $Hallo";
 
    <simpara>
     Wenn Sie variable Variablen mit Arrays verwenden, müssen Sie eine
-    Doppeldeutigkeit beachten. Wenn Sie nämlich
-    <varname>$$a[1]</varname> schreiben, dann muss der Parser wissen,
-    ob Sie <varname>$a[1]</varname> als Variable oder
-    <varname>$$a</varname> als Variable und dann [1] als Index dieser
-    Variablen verwenden wollen bzw. gemeint haben. Die Syntax zur
+    Doppeldeutigkeit beachten. Wenn Sie nämlich <varname>$$a[1]</varname>
+    schreiben, dann muss der Parser wissen, ob Sie <varname>$a[1]</varname>
+    als Variable oder <varname>$$a</varname> als Variable und dann [1] als
+    Index dieser Variablen verwenden wollen bzw. gemeint haben. Die Syntax zur
     Lösung dieser Doppeldeutigkeit: Verwenden Sie im ersten Fall
     <varname>${$a[1]}</varname> und im zweiten Fall
     <varname>${$a}[1]</varname>.
    </simpara>
 
    <simpara>
-    Auf Klasseneigenschaften kann ebenso unter Verwendung von variablen Eigenschaftsnamen
-    zugegriffen werden. Der variable Eigenschaftsname wird innerhalb des Geltungsbereichs
-    aufgelöst, aus dem der Aufruf erfolgt. Wenn sie beispielsweise einen Ausdruck
-    wie etwa <varname>$foo->$bar</varname> haben, dann wird der lokale Geltungsbereich
-    auf <varname>$bar</varname> untersucht, und dessen Wert wird als Eigenschaftsname
-    von <varname>$foo</varname> verwendet. Dies gilt analog, wenn <varname>$bar</varname>
-    ein Arrayzugriff ist.
+    Auf Klasseneigenschaften kann ebenso unter Verwendung von variablen
+    Eigenschaftsnamen zugegriffen werden. Der variable Eigenschaftsname wird
+    innerhalb des Geltungsbereichs aufgelöst, aus dem der Aufruf erfolgt. Wenn
+    sie beispielsweise einen Ausdruck wie etwa <varname>$foo->$bar</varname>
+    haben, dann wird der lokale Geltungsbereich auf <varname>$bar</varname>
+    untersucht, und dessen Wert wird als Eigenschaftsname von
+    <varname>$foo</varname> verwendet. Dies gilt analog, wenn
+    <varname>$bar</varname> ein Arrayzugriff ist.
    </simpara>
 
-   <caution>
-    <simpara>
-     Weiterhin hat das Dereferenzieren einer variablen Eigenschaft, die ein Array
-     ist, unterschiedliche Bedeutung in PHP 5 und PHP 7. Die
-     <link linkend="migration70.incompatible.variable-handling.indirect">PHP 7.0 Migrationsanleitung</link>
-     enthält weitere Details zu den Arten von Ausdrücken, die sich geändert haben,
-     und wie geschweifte Klammern zu platzieren sind, um Mehrdeutigkeit zu vermeiden.
-    </simpara>
-   </caution>
-
    <simpara>
-    Geschweifte Klammern können ebenfalls verwendet werden, um den Eigenschaftsnamen
-    deutlich abzugrenzen. Sie sind besonders nützlich beim Zugriff auf Werte in einer
-    Eigenschaft, die ein Array enthält, wenn der Eigenschaftsname aus mehreren Teilen
-    besteht, oder wenn der Eigenschaftsname Zeichen enthält, die andernfalls nicht
-    gültig sind (z.B. von <function>json_decode</function> oder
-    <link linkend="book.simplexml">SimpleXML</link>).
+    Geschweifte Klammern können ebenfalls verwendet werden, um den
+    Eigenschaftsnamen deutlich abzugrenzen. Sie sind besonders nützlich beim
+    Zugriff auf Werte in einer Eigenschaft, die ein Array enthält, wenn der
+    Eigenschaftsname aus mehreren Teilen besteht, oder wenn der
+    Eigenschaftsname Zeichen enthält, die andernfalls nicht gültig sind (z.B.
+    von <function>json_decode</function> oder <link
+    linkend="book.simplexml">SimpleXML</link>).
    </simpara>
 
    <para>
@@ -846,7 +817,7 @@ Ich bin r.
     </para>     
      
     <para>
-     Von PHP 5.4.0 an gibt es nur zwei Möglichkeiten, um auf die Daten der HTML-Formulare
+     Es gibt es nur zwei Möglichkeiten, um auf die Daten der HTML-Formulare
      zuzugreifen. Die zurzeit verfügbaren Methoden werden unten aufgeführt:
     </para>
 
@@ -864,38 +835,11 @@ echo $_REQUEST['username'];
     </example>
    </para>
 
-    <para>
-     Es gab einige weitere Möglichkeiten, um auf Nutzereingaben in alten PHP-Versionen
-     zuzugreifen. Diese werden unten aufgeführt. Weitere Details sind dem Changelog
-     am Ende der Seite zu entnehmen.
-     <example>
-      <title>Alte Methoden zum Zugriff auf Nutzereingaben</title>
-      <programlisting role="php">
-<![CDATA[
-<?php
-// OBACHT: diese Methoden WERDEN NICHT mehr unterstützt.
-// Gültige Methoden werden weiter oben beschrieben.
-
-// Verwendung von import_request_variables() - diese Funktion wurde in PHP 5.4.0 entfernt
-   import_request_variables('p', 'p_');
-   echo $p_username;
-
-// Diese langen vordefinierten Variablen wurden in PHP 5.4.0 entfernt
-   echo $HTTP_POST_VARS['username'];
-
-// Verwendung von register_globals. Dieses Feature wurde in PHP 5.4.0 entfernt
-   echo $username;
-?>
-]]>
-      </programlisting>
-     </example>
-    </para>
-
    <para>
     Die Verwendung eines GET Formulars ist, davon abgesehen, dass Sie
     stattdessen die entsprechende vordefinierte GET-Variable erhalten,
-    ähnlich. Außerdem wird GET auch für den <literal>QUERY_STRING</literal> (die
-    Information nach dem '?' in einer URL) verwendet. So enthält zum
+    ähnlich. Außerdem wird GET auch für den <literal>QUERY_STRING</literal>
+    (die Information nach dem '?' in einer URL) verwendet. So enthält zum
     Beispiel <literal>http://www.example.com/test.php?id=3</literal>
     GET-Daten, auf die mit <varname>$_GET['id']</varname> zugegriffen
     werden kann. Siehe auch <varname>$_REQUEST</varname>.
@@ -1006,6 +950,13 @@ if ($_POST) {
      und Beispiele lesen Sie bitte die
      <function>setcookie</function>-Seite des Handbuchs.
     </simpara>
+    <note>
+     <simpara>
+      Aus Sicherheitsgründen werden ab PHP 7.2.34, 7.3.23 bzw. 7.4.11 die
+      <emphasis>Namen</emphasis> der eingehenden Cookies nicht mehr
+      URL-dekodiert.
+     </simpara>
+    </note>
 
     <simpara>
      Wenn Sie einer einzelnen Cookie-Variable mehrere Werte zuweisen
@@ -1128,21 +1079,10 @@ $varname.ext;  /* ungültiger Variablen-Bezeichner */
        </thead>
        <tbody>
         <row>
-         <entry>5.4.0</entry>
-         <entry>
-          <link linkend="security.globals">Globals registrieren</link>, 
-          <link linkend="security.magicquotes">Magic Quotes</link> and
-          <link linkend="ini.register-long-arrays">register_long_arrays</link>
-          wurde entfernt
-         </entry>
-        </row>
-        <row>
-         <entry>5.3.0</entry>
+         <entry>7.2.34, 7.3.23, 7.4.11</entry>
          <entry>
-          <link linkend="security.globals">Globals registrieren</link>, 
-          <link linkend="security.magicquotes">Magic Quotes</link> and
-          <link linkend="ini.register-long-arrays">register_long_arrays</link>
-          wurde missbilligt
+          Aus Sicherheitsgründen werden die <emphasis>Namen</emphasis> der
+          eingehenden Cookies nicht mehr URL-dekodiert.
          </entry>
         </row>
        </tbody>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.