svn: /phpdoc/de/trunk/language/ predefined/throwable/getfile.xml types/callable.xml types/float.xml

[email protected] (Oliver Albers)
Newsgroups php.doc.de
Message-ID <[email protected]>
simp                                     Sun, 03 Mar 2019 19:36:45 +0000

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

Log:
Translate types

Changed paths:
    U   phpdoc/de/trunk/language/predefined/throwable/getfile.xml
    A   phpdoc/de/trunk/language/types/callable.xml
    A   phpdoc/de/trunk/language/types/float.xml
svn-diffs-346967.txt (text/x-diff, 12.7 KB)
Modified: phpdoc/de/trunk/language/predefined/throwable/getfile.xml
===================================================================
--- phpdoc/de/trunk/language/predefined/throwable/getfile.xml	2019-03-03 13:49:34 UTC (rev 346966)
+++ phpdoc/de/trunk/language/predefined/throwable/getfile.xml	2019-03-03 19:36:45 UTC (rev 346967)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- $Revision$ -->
-<!-- EN-Revision: 341756 Maintainer: simp Status: ready -->
+<!-- EN-Revision: 346964 Maintainer: simp Status: ready -->
 <!-- Reviewed: no -->

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

Added: phpdoc/de/trunk/language/types/callable.xml
===================================================================
--- phpdoc/de/trunk/language/types/callable.xml	                        (rev 0)
+++ phpdoc/de/trunk/language/types/callable.xml	2019-03-03 19:36:45 UTC (rev 346967)
@@ -0,0 +1,181 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- $Revision$ -->
+<!-- EN-Revision: 341282 Maintainer: simp Status: ready -->
+<!-- Reviewed: no -->
+
+<sect1 xml:id="language.types.callable">
+ <title>Callbacks / Callables</title>
+
+ <para>
+  Callbacks können seit PHP 5.4 mit dem Type-Hint <type>callable</type>
+  gekennzeichnet werden. Diese Dokumentation verwendete auch die Typinformation
+  <type>callback</type> für diesen Zweck.
+ </para>
+
+ <para>
+  Einige Funktionen wie <function>call_user_func</function> oder
+  <function>usort</function> akzeptieren eine benutzerdefinierte
+  Callback-Funktion als Argument. Fallback-Funktionen können nicht nur
+  einfache Funktionen sein, sondern auch Methoden eines
+  <type>Object</type>s, inklusive statischer Klassenmethoden.
+ </para>
+
+ <sect2 xml:id="language.types.callable.passing">
+  <title>Übergabe</title>
+
+  <para>
+   Eine PHP-Funktion wird anhand ihres Namens als <type>String</type>
+   übergeben. Jede eingebaute oder benutzerdefinierte Funktion kann
+   verwendet werden, außer Sprachekonstrukten wie:
+   <function>array</function>, <function>echo</function>,
+   <function>empty</function>, <function>eval</function>,
+   <function>exit</function>, <function>isset</function>,
+   <function>list</function>, <function>print</function> oder
+   <function>unset</function>.
+  </para>
+
+  <para>
+   Eine Methode eines instantiierten <type>Object</type>s wird
+   übergeben als <type>Array</type> mit dem <type>Object</type>
+   an Index-Position 0 und dem Methodennamen an Position 1. Der Zugriff
+   auf als protected oder private markierte Methoden von innerhalb
+   der Klasse ist erlaubt.
+  </para>
+
+  <para>
+   Statische Klassenmethoden können auch übergeben werden, ohne dann ein
+   <type>Object</type> dieser Klasse instantiiert werden muss, indem
+   man den Namen der Klasse statt eines <type>Object</type>s an
+   Index 0 übergibt.
+   Seit PHP 5.2.3 kann man auch <literal>'ClassName::methodName'</literal>
+   übergeben.
+  </para>
+
+  <para>
+   Neben den üblichen benutzerdefiniersten Funktionen können auch
+   <link linkend="functions.anonymous">anonyme Funktionen</link>
+   als Callback-Agumente übergeben werden.
+  </para>
+
+  <para>
+   <example>
+    <title>
+     Beisviele für Ballback-Funktionen
+    </title>
+    <programlisting role="php">
+<![CDATA[
+<?php
+
+// Eine Beispiel-Callback-Funktion
+function my_callback_function() {
+    echo 'hello world!';
+}
+
+// Eine Beispiel-Callback-Methode
+class MyClass {
+    static function myCallbackMethod() {
+        echo 'Hello World!';
+    }
+}
+
+// Typ 1: Einfaches Callback
+call_user_func('my_callback_function');
+
+// Typ 2: Statischer Methodenaufruf
+call_user_func(array('MyClass', 'myCallbackMethod'));
+
+// Typ 3: Aufruf einer Objektmethode
+$obj = new MyClass();
+call_user_func(array($obj, 'myCallbackMethod'));
+
+// Typ 4: Statischer Methodenaufruf (Seit PHP 5.2.3)
+call_user_func('MyClass::myCallbackMethod');
+
+// Typ 5: Relativer statischer Methodenaufruf (Seit PHP 5.3.0)
+class A {
+    public static function who() {
+        echo "A\n";
+    }
+}
+
+class B extends A {
+    public static function who() {
+        echo "B\n";
+    }
+}
+
+call_user_func(array('B', 'parent::who')); // A
+
+// Typ 6: Objekte die __invoke implementieren können als Callable verwendet werden (seit PHP 5.3)
+class C {
+    public function __invoke($name) {
+        echo 'Hello ', $name, "\n";
+    }
+}
+
+$c = new C();
+call_user_func($c, 'PHP!');
+?>
+]]>
+    </programlisting>
+   </example>
+  </para>
+  <para>
+   <example>
+    <title>
+     Fallback-Beispiel mit einem Closure
+    </title>
+   <programlisting role="php">
+<![CDATA[
+<?php
+// Unser Closure
+$double = function($a) {
+    return $a * 2;
+};
+
+// Dies ist unsere Menge an Zahlen
+$numbers = range(1, 5);
+
+// Hier verwenden wir das Callback, um
+// den Wert jedes Elements in unserer
+// Menge zu verdoppeln
+$new_numbers = array_map($double, $numbers);
+
+print implode(' ', $new_numbers);
+?>
+]]>
+    </programlisting>
+    &example.outputs;
+    <screen>
+<![CDATA[
+2 4 6 8 10
+]]>
+    </screen>
+   </example>
+  </para>
+
+  &note.func-callback-exceptions;
+ </sect2>
+
+</sect1>
+
+<!-- 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
+indent-tabs-mode:nil
+sgml-parent-document:nil
+sgml-default-dtd-file:"~/.phpdoc/manual.ced"
+sgml-exposed-tags:nil
+sgml-local-catalogs:nil
+sgml-local-ecat-files:nil
+End:
+vim600: syn=xml fen fdm=syntax fdl=2 si
+vim: et tw=78 syn=sgml
+vi: ts=1 sw=1
+-->


Property changes on: phpdoc/de/trunk/language/types/callable.xml
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id Rev Revision Date LastChangedDate LastChangedRevision Author LastChangedBy HeadURL URL
\ No newline at end of property
Added: phpdoc/de/trunk/language/types/float.xml
===================================================================
--- phpdoc/de/trunk/language/types/float.xml	                        (rev 0)
+++ phpdoc/de/trunk/language/types/float.xml	2019-03-03 19:36:45 UTC (rev 346967)
@@ -0,0 +1,180 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- $Revision$ -->
+<!-- EN-Revision: 345104 Maintainer: simp Status: ready -->
+<!-- Reviewed: no -->
+
+<sect1 xml:id="language.types.float" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <title>Gleitkommazahlen</title>
+
+ <para>
+  Gleitkommazahlen (auch als "floats", "doubles" oder "reelle Zahlen" bezeichnet)
+  können anhand einer der folgenden Schreibweisen bezeichnet werden:
+ </para>
+
+ <informalexample>
+  <programlisting role="php">
+<![CDATA[
+<?php
+$a = 1.234;
+$b = 1.2e3;
+$c = 7E-10;
+?>
+]]>
+  </programlisting>
+ </informalexample>
+
+ <para>
+  Formell:
+ </para>
+
+ <informalexample>
+  <programlisting>
+<![CDATA[
+LNUM          [0-9]+
+DNUM          ([0-9]*[\.]{LNUM}) | ({LNUM}[\.][0-9]*)
+EXPONENT_DNUM [+-]?(({LNUM} | {DNUM}) [eE][+-]? {LNUM})
+]]>
+  </programlisting>
+ </informalexample>
+
+ <para>
+  Die Größe einer Gleitkommazahl ist plattformabhängig, ein Maximalwert von circa
+  1.8e308 mit einer Präzision von ungefähr 14 Dezimal-Nachkommastellen ist jedoch
+  ein üblicher Wert (64-Bit IEEE-Format).
+ </para>
+
+ <warning xml:id="warn.float-precision">
+  <title>Genauigkeit von Gleitkommazahlen</title>
+
+  <para>
+   Gleitkommazahlen haben eine begrenzte Präzision. Obgleich dies vom System
+   abhängig ist, verwendet PHP üblicherweise das IEEE 754 Double Precision
+   Format, welches einen maximalen relativen Rundungsfehler in einer Größenordnung
+   en 1.11e-16 ergibt. Nicht-Elementare arithmetische Operationen können jedoch
+   größere Fehler hervorgerufen und natürlich muss eine Fortpflanzung des Fehlers
+   berücksichtigt werden, wenn mehrere Operationen zusammengesetzt werden.
+  </para>
+
+  <para>
+   Außerdem gibt es rationale Zahlen die zur Basis 10 als Gleitkommazahlen exakt
+   dargestellt werden können, beispielsweise <literal>0.1</literal> or
+   <literal>0.7</literal>, für die es aber keine exakte Repräsentation als
+   Gleitkommazahlen zur Basis 2 gibt, welche intern aber unabhängig von der Größe
+   der Mantisse verwendet wird. Daher können Sie nicht ohne einen geringen
+   Präzisionsverlust in ihre intern binäre Darstellung umgewandelt werden.
+   Dies kann zu verwirrendenErgebnissen führen:
+   <literal>floor((0.1+0.7)*10)</literal> wird üblicherweise
+   <literal>7</literal> ergeben statt des erwarteten Ergebnises von
+   <literal>8</literal>, da die interne Repräsentation etwas ist wie
+   <literal>7.9999999999999991118...</literal>.
+  </para>
+
+  <para>
+   Man sollte sich daher niemals bis zur letzten Nachkommastelle auf
+   Fließkommazahlen verlassen und Fließkommazahlen niemals direkt auf Gleichheit
+   prüfen. Wenn eine höhere Präzision notwendig ist, stehen die
+   <link linkend="ref.bc">Mathematikfunktionen mit beliebiger Präzision</link> und
+   <link linkend="ref.gmp">gmp</link>-Funktionen zur Verfügung.
+  </para>
+
+  <para>
+   Für eine "einfache" Erklärung, steht der Ratgeber
+   <link xlink:href="&url.floating.point.guide;">Floating Point Guide</link> zur
+   Verfügung, welchee auch den Titel hat "Why don’t my numbers add up?"
+  </para>
+ </warning>
+
+ <sect2 xml:id="language.types.float.casting">
+  <title>Konvertierung in float</title>
+
+  <para>
+   Informationen zur Konvertierung von <type>String</type>s zu
+   <type>Float</type>s findet man unter
+   <link linkend="language.types.string.conversion">Konvertierung von
+   Zeichenketten zu Zahlen</link>. Werte alle anderen Typen werden
+   konvertiert, indem der Wert zuerst in den Typ <type>Integer</type>
+   konvertiert wird und dieser anschließend zu <type>Float</type>.
+   Weitere Informationen findet man unter
+   <link linkend="language.types.integer.casting">Konvertierung in Integer</link>.
+   Seid PHP 5 wird eine Notice erzeugt, wenn ein <type>Object</type> in
+   einen <type>Float</type> konvertiert wird.
+  </para>
+
+ </sect2>
+
+ <sect2 xml:id="language.types.float.comparison">
+  <title>Gleitkommazahlen vergleichen</title>
+
+  <para>
+   Wie in der obigen Warnung bereits dargestellt, ist es problematisch
+   Gleitkommazahlen auf Gleichheit zu überprüfen, aufgrund ihrer internen
+   Darstellungsart. Es gibt allerdings Wege diese Vergleiche von
+   Gleitkommazahlen anzustellen, die diese Beschränkungen umgehen.
+  </para>
+
+  <para>
+   Um Gleitkommazahlen auf Gleichheit zu prüfen, wird eine obere Schranke
+   für den Rundungsfehler verwendet. Dieser Wert ist bekannt als
+   Maschinengenauigkeit Epsilon bekannt und stellt die kleinste annehmbare
+   Differenz in der Berechnung dar.
+  </para>
+
+  <informalexample>
+   <simpara>
+    <varname>$a</varname> und <varname>$b</varname> sind bis auf 5 Nachkommastellen gleich.
+   </simpara>
+   <programlisting role="php">
+<![CDATA[
+<?php
+$a = 1.23456789;
+$b = 1.23456780;
+$epsilon = 0.00001;
+
+if(abs($a-$b) < $epsilon) {
+    echo "true";
+}
+?>
+]]>
+   </programlisting>
+  </informalexample>
+ </sect2>
+
+ <sect2 xml:id="language.types.float.nan">
+  <title>NaN</title>
+  <para>
+   Einige numerische Operationen können einen Wert ergeben der durch
+   die Konstante <constant>NAN</constant> repräsentiert wird. Dieses Ergebnis
+   repräsentiert einen undefinierten oder nicht darstellbaren wert in
+   den FließkommbBerechnungen. Jeder strikte oder nicht strikte Vergleich dieses Werts
+   mit jedem beliebigen anderen Wert, inklusive sich selbst, nur nicht &true;,
+   wird ein Ergebnis von &false; hervorbringen.
+  </para>
+  <para>
+   Da <constant>NAN</constant> eine beliebige Anzahl von anderen Werten darstellen
+   kann, sollte <constant>NAN</constant> nicht mit anderen Werten verglichen werden,
+   einschließlich sich selbst. Stattdessen sollte zur Prüfung
+   <function>is_nan</function> verwendet werden.
+  </para>
+ </sect2>
+</sect1>
+
+<!-- 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
+indent-tabs-mode:nil
+sgml-parent-document:nil
+sgml-default-dtd-file:"~/.phpdoc/manual.ced"
+sgml-exposed-tags:nil
+sgml-local-catalogs:nil
+sgml-local-ecat-files:nil
+End:
+vim600: syn=xml fen fdm=syntax fdl=2 si
+vim: et tw=78 syn=sgml
+vi: ts=1 sw=1
+-->


Property changes on: phpdoc/de/trunk/language/types/float.xml
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id Rev Revision Date LastChangedDate LastChangedRevision Author LastChangedBy HeadURL URL
\ No newline at end of property
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.