svn: /phpdoc/de/trunk/ language/oop5/magic.xml reference/curl/curlfile/construct.xml reference/math/functions/pi.xml reference/var/functions/serialize.xml reference/var/functions/unserialize.xml reference/zip/configure.xml

[email protected] (Christoph Michael Becker)
Newsgroups php.doc.de
Message-ID <[email protected]>
cmb                                      Sun, 05 Apr 2020 10:39:27 +0000

Revision: http://svn.php.net/viewvc?view=revision&revision=349622

Log:
Sync with EN

Changed paths:
    U   phpdoc/de/trunk/language/oop5/magic.xml
    U   phpdoc/de/trunk/reference/curl/curlfile/construct.xml
    U   phpdoc/de/trunk/reference/math/functions/pi.xml
    U   phpdoc/de/trunk/reference/var/functions/serialize.xml
    U   phpdoc/de/trunk/reference/var/functions/unserialize.xml
    U   phpdoc/de/trunk/reference/zip/configure.xml
svn-diffs-349622.txt (text/x-diff, 13.8 KB)
Modified: phpdoc/de/trunk/language/oop5/magic.xml
===================================================================
--- phpdoc/de/trunk/language/oop5/magic.xml	2020-04-05 07:46:56 UTC (rev 349621)
+++ phpdoc/de/trunk/language/oop5/magic.xml	2020-04-05 10:39:27 UTC (rev 349622)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- $Revision$ -->
-<!-- EN-Revision: 349020 Maintainer: hholzgra Status: ready -->
+<!-- EN-Revision: 349590 Maintainer: hholzgra Status: ready -->
 <!-- Credits: simp -->
 <sect1 xml:id="language.oop5.magic" xmlns="http://docbook.org/ns/docbook">
  <title>Magische Methoden</title>
@@ -16,6 +16,8 @@
   <link linkend="object.unset">__unset()</link>,
   <link linkend="object.sleep">__sleep()</link>,
   <link linkend="object.wakeup">__wakeup()</link>,
+  <link linkend="object.serialize">__serialize()</link>,
+  <link linkend="object.unserialize">__unserialize()</link>,
   <link linkend="object.tostring">__toString()</link>,
   <link linkend="object.invoke">__invoke()</link>,
   <link linkend="object.set-state">__set_state()</link>,
@@ -52,12 +54,12 @@
    <void/>
   </methodsynopsis>
   <methodsynopsis xml:id="object.wakeup">
-   <type>void</type><methodname>__wakeup</methodname>
+   <modifier>public</modifier> <type>void</type><methodname>__wakeup</methodname>
    <void/>
   </methodsynopsis>

   <para>
-   <function>serialize</function> prüft, ob Ihre Klasse eine Funktion mit dem
+   <function>serialize</function> prüft, ob die Klasse eine Funktion mit dem
    magischen Namen <link linkend="object.sleep">__sleep()</link> besitzt. Wenn
    dem so ist, wird die Funktion vor jeder Serialisierung ausgeführt. Sie kann
    das Objekt aufräumen und es wird von ihr erwartet, dass sie ein Array mit den
@@ -128,6 +130,110 @@
   </example>
  </sect2>

+ <sect2 xml:id="language.oop5.magic.serialize">
+  <title>
+   <link linkend="object.serialize">__serialize()</link> and
+   <link linkend="object.unserialize">__unserialize()</link>
+  </title>
+
+  <methodsynopsis xml:id="object.serialize">
+   <modifier>public</modifier> <type>array</type><methodname>__serialize</methodname>
+   <void/>
+  </methodsynopsis>
+  <methodsynopsis xml:id="object.unserialize">
+   <modifier>public</modifier> <type>void</type><methodname>__unserialize</methodname>
+   <methodparam><type>array</type><parameter>data</parameter></methodparam>
+  </methodsynopsis>
+
+  <para>
+   <function>serialize</function> prüft, ob die Klasse eine Funktion mit dem
+   magischen Namen <link linkend="object.sleep">__serialize()</link> besitzt. Wenn
+   dem so ist, wird die Funktion vor jeder Serialisierung ausgeführt. Sie muss ein assoziatives Array von Schlüssel/Wert-Paaren
+   erzeugen und zurückgeben, die die serialisierte Form des Objekts darstellen. Wird kein Array
+   zurückgegeben, wird ein <classname>TypeError</classname> geworfen.
+  </para>
+  <note>
+   <para>
+    Sind sowohl <link linkend="object.serialize">__serialize()</link> als auch
+    <link linkend="object.sleep">__sleep()</link> im selben Objekt definiert, wird nur
+    <link linkend="object.serialize">__serialize()</link> aufgerufen.
+    <link linkend="object.sleep">__sleep()</link> wird ignoriert.
+    Implementiert das Objekt das <link linkend="class.serializable">Serializable</link>
+    Interface, wird die <literal>serialize()</literal> Methode des Interface ignoriert und
+    <link linkend="object.serialize">__serialize()</link> statt dessen verwendet.
+   </para>
+  </note>
+  <para>
+   Die beabsichtigte Verwendung von <link linkend="object.serialize">__serialize()</link> ist,
+   eine serialisierungsfreundlich beliebige Darstellung eines Objekts zu definieren.
+   Elemente des Arrays dürfen Eigenschaften entsprechen, aber das ist nicht erforderlich.
+  </para>
+  <para>
+   Umgekehrt überprüft <function>unserialize</function> die Anwesenheit einer Funktion mit dem magischen
+   Namen <link linkend="object.unserialize">__unserialize()</link>. Falls vorhanden, wird dieser Funktion
+   das wiederhergestellte Array übergeben, das von <link linkend="object.serialize">__serialize()</link>
+   zurückgegeben wurde. Sie kann dann dementsprechend die Eigenschaften des Objekts aus diesem Array
+   wiederherstellen.
+  </para>
+  <note>
+   <para>
+    Sind sowohl <link linkend="object.unserialize">__unserialize()</link> als auch
+    <link linkend="object.wakeup">__wakeup()</link> im selben Objekt definiert, wird nur
+    <link linkend="object.unserialize">__unserialize()</link> aufgerufen.
+    <link linkend="object.wakeup">__wakeup()</link> wird ignoriert.
+   </para>
+  </note>
+  <note>
+   <para>
+    Dieses Feature ist seit PHP 7.4.0 verfügbar.
+   </para>
+  </note>
+  <example>
+   <title>Serialize und unserialize</title>
+   <programlisting role="php">
+<![CDATA[
+<?php
+class Connection
+{
+    protected $link;
+    private $dsn, $username, $password;
+
+    public function __construct($dsn, $username, $password)
+    {
+        $this->dsn = $dsn;
+        $this->username = $username;
+        $this->password = $password;
+        $this->connect();
+    }
+
+    private function connect()
+    {
+        $this->link = new PDO($this->dsn, $this->username, $this->password);
+    }
+
+    public function __serialize(): array
+    {
+        return [
+          'dsn' => $this->dsn,
+          'user' => $this->username,
+          'pass' => $this->password,
+        ];
+    }
+
+    public function __unserialize(array $data): void
+    {
+        $this->dsn = $data['dsn'];
+        $this->username = $data['user'];
+        $this->password = $data['pass'];
+
+        $this->connect();
+    }
+}?>
+]]>
+   </programlisting>
+  </example>
+ </sect2>
+
  <sect2 xml:id="language.oop5.magic.tostring">
   <title><link linkend="object.tostring">__toString()</link></title>
   <methodsynopsis xml:id="object.tostring">

Modified: phpdoc/de/trunk/reference/curl/curlfile/construct.xml
===================================================================
--- phpdoc/de/trunk/reference/curl/curlfile/construct.xml	2020-04-05 07:46:56 UTC (rev 349621)
+++ phpdoc/de/trunk/reference/curl/curlfile/construct.xml	2020-04-05 10:39:27 UTC (rev 349622)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- $Revision$ -->
-<!-- EN-Revision: 349411 Maintainer: tihox Status: ready -->
+<!-- EN-Revision: 349453 Maintainer: tihox Status: ready -->
 <!-- Reviewed: no -->

 <refentry xml:id="curlfile.construct" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">

Modified: phpdoc/de/trunk/reference/math/functions/pi.xml
===================================================================
--- phpdoc/de/trunk/reference/math/functions/pi.xml	2020-04-05 07:46:56 UTC (rev 349621)
+++ phpdoc/de/trunk/reference/math/functions/pi.xml	2020-04-05 10:39:27 UTC (rev 349622)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- $Revision: 1.1 -->
-<!-- EN-Revision: 297028 Maintainer: hholzgra Status: ready -->
+<!-- EN-Revision: 349536 Maintainer: hholzgra Status: ready -->
 <refentry xml:id="function.pi" xmlns="http://docbook.org/ns/docbook">
  <refnamediv>
   <refname>pi</refname>
@@ -13,10 +13,7 @@
     <void/>
    </methodsynopsis>
   <simpara>
-   Die Funktion liefert einen Näherungswert von Pi. Die Anzahl
-   der signifikanten Nachkommastellen wird durch die
-   &php.ini;-Direktive <link linkend="ini.precision">precision</link>
-   festgelegt, der Vorgabewert beträgt <literal>14</literal> Stellen.
+   Die Funktion liefert einen Näherungswert von Pi.
    Sie können auch die Konstante <constant>M_PI</constant>
    benutzen, die das gleiche Resultat liefert wie die
    <function>pi</function>.

Modified: phpdoc/de/trunk/reference/var/functions/serialize.xml
===================================================================
--- phpdoc/de/trunk/reference/var/functions/serialize.xml	2020-04-05 07:46:56 UTC (rev 349621)
+++ phpdoc/de/trunk/reference/var/functions/serialize.xml	2020-04-05 10:39:27 UTC (rev 349622)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- $Revision$ -->
-<!-- EN-Revision: 346043 Maintainer: sammywg Status: ready -->
+<!-- EN-Revision: 349590 Maintainer: sammywg Status: ready -->

 <refentry xml:id="function.serialize" xmlns="http://docbook.org/ns/docbook">
  <refnamediv>
@@ -43,10 +43,10 @@
       </para>
       <para>
        Wenn Objekte serialisiert werden, versucht PHP die
-       Methode <link linkend="object.sleep">__sleep</link>
+       Methode <link linkend="object.serialize">__serialize()</link> oder <link linkend="object.sleep">__sleep</link>
        vor der Serialisierung
        aufzurufen. Dies erlaubt einem Objekt z.B. letzte "Aufräumaktionen",
-       bevor es serialisiert wird. Ebenso wird die Methode <link
+       bevor es serialisiert wird. Ebenso wird die Methode <link linkend="object.unserialize">__unserialize()</link> oder <link
        linkend="object.wakeup">__wakeup</link> aufgerufen, wenn das
        Objekt mittels <function>unserialize</function> wiederhergestellt wird.
       </para>
@@ -112,11 +112,11 @@
   &reftitle.notes;
   <note>
    <para>
-    Beachte, dass viele eingebaute PHP Objekte nicht serialisiert
+    Es ist zu beachten, dass viele eingebaute PHP Objekte nicht serialisiert
     werden können. Diejenigen mit dieser Eigenschaft implementieren
-    entweder das <interfacename>Serializable</interfacename> Interface
-    oder die magischen <link linkend="object.sleep">__sleep</link>
-    und <link linkend="object.wakeup">__wakeup</link>
+    entweder das <interfacename>Serializable</interfacename> Interface oder die magischen
+    <link linkend="object.serialize">__serialize()</link>/<link linkend="object.unserialize">__unserialize()</link>
+    oder <link linkend="object.sleep">__sleep</link>/<link linkend="object.wakeup">__wakeup</link>
     Methoden. Wenn eine eingebaute Klasse nicht mindestens eine dieser
     Voraussetzungen erfüllt, kann sie nicht verlässlich serialisiert werden.
    </para>
@@ -146,6 +146,8 @@
     <member><link linkend="language.oop5.serialization">Objekte serialisieren</link></member>
     <member><link linkend="object.sleep">__sleep</link></member>
     <member><link linkend="object.wakeup">__wakeup</link></member>
+    <member><link linkend="object.serialize">__serialize()</link></member>
+    <member><link linkend="object.unserialize">__unserialize()</link></member>
    </simplelist>
   </para>
  </refsect1>

Modified: phpdoc/de/trunk/reference/var/functions/unserialize.xml
===================================================================
--- phpdoc/de/trunk/reference/var/functions/unserialize.xml	2020-04-05 07:46:56 UTC (rev 349621)
+++ phpdoc/de/trunk/reference/var/functions/unserialize.xml	2020-04-05 10:39:27 UTC (rev 349622)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- $Revision$ -->
-<!-- EN-Revision: 344075 Maintainer: sammywg Status: ready -->
+<!-- EN-Revision: 349590 Maintainer: sammywg Status: ready -->

 <refentry xml:id="function.unserialize" xmlns="http://docbook.org/ns/docbook">
  <refnamediv>
@@ -51,8 +51,9 @@
       <para>
        Wenn die zu deserialisierende Variable ein Objekt ist, wird PHP nach der
        erfolgreichen Wiederherstellung des Objekts automatisch versuchen, die
+       <link linkend="object.unserialize">__unserialize()</link>- oder
        <link linkend="object.wakeup">__wakeup</link>-Methode
-       aufzurufen (sofern diese existiert).
+       aufzurufen (sofern eine von diesen existiert).
       </para>
       <para>
        <note>
@@ -216,9 +217,9 @@

 function mycallback($classname)
 {
-    // einfach ein File einbinden, dass die Klassendefinitionen enthaelt
-    // Sie erhalten $classname, womit Sie herausfinden koennen, welche
-    // Klassendefinition benoetigt wird
+    // einfach eine Datei einbinden, dass die Klassendefinitionen enthält
+    // Sie erhalten $classname, womit Sie herausfinden können, welche
+    // Klassendefinition benötigt wird
 }
 ?>
 ]]>
@@ -251,6 +252,8 @@
     <member><link linkend="language.oop5.autoload">Autoloading von Klassen</link></member>
     <member><link linkend="ini.unserialize-callback-func">unserialize_callback_func</link></member>
     <member><link linkend="object.wakeup">__wakeup</link></member>
+    <member><link linkend="object.serialize">__serialize()</link></member>
+    <member><link linkend="object.unserialize">__unserialize()</link></member>
    </simplelist>
   </para>
  </refsect1>

Modified: phpdoc/de/trunk/reference/zip/configure.xml
===================================================================
--- phpdoc/de/trunk/reference/zip/configure.xml	2020-04-05 07:46:56 UTC (rev 349621)
+++ phpdoc/de/trunk/reference/zip/configure.xml	2020-04-05 10:39:27 UTC (rev 349622)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- $Revision$ -->
-<!-- EN-Revision: 346299 Maintainer: hholzgra Status: ready -->
+<!-- EN-Revision: 349534 Maintainer: hholzgra Status: ready -->
 <section xml:id="zip.installation" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
  &reftitle.install;

@@ -9,9 +9,11 @@
   <section xml:id="zip.installation.new.linux">
    <title>Linux systems</title>
    <para>
-    Um diese Funktionen nutzen zu können müssen sie PHP
-    mit der Option <option role="configure">--enable-zip</option>
-    übersetzen.
+    Von PHP 7.4.0 an muss, um diese Funktionen nutzen zu können, PHP
+    mit der Option <option role="configure">--with-zip</option>
+    kompiliert werden.
+    Zuvor musste Zip-Unterstützung durch Verwendung der
+    <option role="configure">--enable-zip</option> Konfigurationsoption aktiviert werden.
    </para>
    <para>
     Mit PHP 5.6.0 wurde die <option role="configure">--with-libzip=DIR</option>
@@ -23,6 +25,7 @@
     Von PHP 7.3.0 an wird die Kompilierung mit der gebündelten libzip nicht mehr
     empfohlen, ist aber noch immer möglich, indem <option
     role="configure">--without-libzip</option> zur Konfiguration hinzugefügt wird.
+    Von PHP 7.4.0 an ist die gebündelte libzip nicht mehr vorhanden.
    </para>
   </section>
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.