1
0
mirror of https://github.com/php/doc-de.git synced 2026-03-23 23:02:13 +01:00

Sync with EN

This commit is contained in:
Martin Samesch
2024-10-18 22:31:08 +02:00
parent 9d48e2db6c
commit 1a7bccfdc4
9 changed files with 178 additions and 87 deletions

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 31d42a7a6e9ecf4227f6b1dc6936eccd40846fa7 Maintainer: cmb Status: ready -->
<!-- EN-Revision: 08e58ace7e5b538c8ed75d784a54885d5f785d30 Maintainer: cmb Status: ready -->
<chapter xml:id="language.generators" xmlns="http://docbook.org/ns/docbook">
<title>Generatoren</title>
@@ -9,23 +9,24 @@
<?phpdoc print-version-for="generators"?>
<para>
Generatoren bieten eine einfache Möglichkeit, um einfache <link
linkend="language.oop5.iterations">Iteratoren</link> zu erstellen, ohne
den Overhead oder die Komplexität der Erstellung einer Klasse zu haben,
die das <classname>Iterator</classname>-Interface implementiert.
Generatoren bieten eine einfache Möglichkeit, um einfache
<link linkend="language.oop5.iterations">Iteratoren</link> zu erstellen,
ohne den Overhead oder die Komplexität der Erstellung einer Klasse zu
haben, die das <classname>Iterator</classname>-Interface implementiert.
</para>
<para>
Ein Generator ermöglicht es Code zu schreiben, der &foreach; nutzt, um über
eine Datenmenge zu iterieren, ohne ein Array im Speicher zu erzeugen,
was zur Überschreitung des Speicherlimits führen kann oder beträchtliche
Prozessorzeit benötigt. Alternativ können Sie eine Generatorfunktion
schreiben, die einer normalen <link
linkend="functions.user-defined">Funktion</link> entspricht, bei der aber
keine einmalige <link linkend="functions.returning-values">Rückgabe</link>
erfolgt, sondern der Generator so oft wie nötig einen Wert abgibt
(Stichwort: &yield;), um die Werte zu liefern, über die iteriert werden
soll.
Mit einem Generator können auf bequeme Weise Daten für &foreach; -Schleifen
bereitgestellt werden, ohne ein Array im Speicher zu erzeugen, was dazu
führen kann, dass das Programm ein Speicherlimit überschreitet oder
beträchtliche Prozessorzeit benötigt. Alternativ kann eine Generatorfunktion
verwendet werden, die einer normalen
<link linkend="functions.user-defined">Funktion</link> entspricht, bei der
aber keine einmalige
<link linkend="functions.returning-values">Rückgabe</link> erfolgt, sondern
der Generator so oft wie nötig einen Wert abgibt (Stichwort: &yield;), um
die Werte zu liefern, über die iteriert werden soll.
Wie bei Iteratoren ist ein wahlfreier Datenzugriff nicht möglich.
</para>
<para>

View File

@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 5bc68add3da3cd18c40f851e944b15095d3a26aa Maintainer: samesch Status: ready -->
<!-- EN-Revision: ee14f82484f6289278255f798f1e8b93cdc2cab5 Maintainer: samesch Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="mysqli.change-user" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>mysqli::change_user</refname>
<refname>mysqli_change_user</refname>
<refpurpose>Ändert den Benutzer der angegebenen Datenbankverbindung</refpurpose>
<refpurpose>Ändert den Benutzer der Datenbankverbindung</refpurpose>
</refnamediv>
<refsect1 role="description">
@@ -27,8 +27,13 @@
<methodparam><type class="union"><type>string</type><type>null</type></type><parameter>database</parameter></methodparam>
</methodsynopsis>
<para>
Ändert den Benutzer der angegebenen Datenbankverbindung und legt die
aktuelle Datenbank fest.
Versucht, mit den angegebenen Anmeldeinformationen eine Verbindung zur
angegebenen Datenbank herzustellen.
</para>
<para>
Im Gegensatz zu <methodname>mysqli::connect</methodname> trennt diese
Methode die aktuelle Verbindung nicht, wenn die neue Verbindung nicht
geöffnet werden kann.
</para>
<para>
Für einen erfolgreichen Benutzerwechsel müssen gültige Werte für die
@@ -65,13 +70,9 @@
<term><parameter>database</parameter></term>
<listitem>
<para>
Die Datenbank, zu der gewechselt werden soll
</para>
<para>
Falls gewünscht, kann der Wert &null; übergeben werden, was dazu führt,
dass nur der Benutzer gewechselt und keine Datenbank ausgewählt wird.
Um in diesem Fall eine Datenbank auszuwählen, muss die Funktion
<function>mysqli_select_db</function> verwendet werden.
Der Name der Datenbank. Wenn &null; oder eine leere Zeichenkette
übergeben wird, wird die Verbindung zum Server ohne Standard-Datenbank
geöffnet.
</para>
</listitem>
</varlistentry>
@@ -94,82 +95,51 @@
<refsect1 role="examples">
&reftitle.examples;
<example>
<title><methodname>mysqli::change_user</methodname>-Beispiel</title>
<title>Zurücksetzen der Verbindungs-Session</title>
<para>&style.oop;</para>
<programlisting role="php">
<![CDATA[
<?php
/* Verbindung zur Datenbank test aufbauen */
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "test");
/* Verbindung überprüfen */
if (mysqli_connect_errno()) {
printf("Verbindung fehlgeschlagen: %s\n", mysqli_connect_error());
exit();
}
/* Variable a setzen */
$mysqli->query("SET @a:=1");
/* alles zurücksetzen und eine neue Datenbank auswählen */
$mysqli->change_user("my_user", "my_password", "world");
if ($result = $mysqli->query("SELECT DATABASE()")) {
$row = $result->fetch_row();
printf("Standard-Datenbank: %s\n", $row[0]);
$result->close();
}
$result = $mysqli->query("SELECT DATABASE()");
$row = $result->fetch_row();
printf("Standard-Datenbank: %s\n", $row[0]);
if ($result = $mysqli->query("SELECT @a")) {
$row = $result->fetch_row();
if ($row[0] === NULL) {
printf("Der Wert der Variable a ist NULL\n");
}
$result->close();
$result = $mysqli->query("SELECT @a");
$row = $result->fetch_row();
if ($row[0] === null) {
printf("Der Wert der Variable a ist NULL\n");
}
/* Verbindung schließen */
$mysqli->close();
?>
]]>
</programlisting>
<para>&style.procedural;</para>
<programlisting role="php">
<![CDATA[
<?php
/* Verbindung zur Datenbank test aufbauen */
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$link = mysqli_connect("localhost", "my_user", "my_password", "test");
/* Verbindung überprüfen */
if (!$link) {
printf("Verbindung fehlgeschlagen: %s\n", mysqli_connect_error());
exit();
}
/* Variable a setzen */
mysqli_query($link, "SET @a:=1");
/* alles zurücksetzen und eine neue Datenbank auswählen */
mysqli_change_user($link, "my_user", "my_password", "world");
if ($result = mysqli_query($link, "SELECT DATABASE()")) {
$row = mysqli_fetch_row($result);
printf("Standard-Datenbank: %s\n", $row[0]);
mysqli_free_result($result);
}
$result = mysqli_query($link, "SELECT DATABASE()");
$row = mysqli_fetch_row($result);
printf("Standard-Datenbank: %s\n", $row[0]);
if ($result = mysqli_query($link, "SELECT @a")) {
$row = mysqli_fetch_row($result);
if ($row[0] === NULL) {
printf("Der Wert der Variable a ist NULL\n");
}
mysqli_free_result($result);
$result = mysqli_query($link, "SELECT @a");
$row = mysqli_fetch_row($result);
if ($row[0] === null) {
printf("Der Wert der Variable a ist NULL\n");
}
/* Verbindung schließen */
mysqli_close($link);
?>
]]>
</programlisting>
&examples.outputs;
@@ -177,6 +147,30 @@ mysqli_close($link);
<![CDATA[
Standard-Datenbank: world
Der Wert der Variable a ist NULL
]]>
</screen>
</example>
<example>
<title>Wenn <parameter>database</parameter> &null; ist, wird die Verbindung ohne Auswahl einer Standard-Datenbank geöffnet</title>
<para>&style.oop;</para>
<programlisting role="php">
<![CDATA[
<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "test");
$mysqli->change_user("my_user", "my_password", null);
$result = $mysqli->query("SELECT DATABASE()");
$row = $result->fetch_row();
printf("Standard-Datenbank: %s\n", $row[0]);
]]>
</programlisting>
&examples.outputs;
<screen>
<![CDATA[
Standard-Datenbank:
]]>
</screen>
</example>

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 63b99082ef83eade08151f8cb528246fded81db9 Maintainer: samesch Status: ready -->
<!-- EN-Revision: 3bbf9e31d58a54743c8509cbce76567efd4de5d1 Maintainer: samesch Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="mysqli.kill" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
@@ -55,6 +55,30 @@
&mysqli.conditionalexception;
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>8.4.0</entry>
<entry>
Sowohl <methodname>mysqli::kill</methodname> als auch
<function>mysqli_kill</function> sind nun veraltet. Stattdessen sollte
der SQL-Befehl <literal>KILL</literal> verwendet werden.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<example>

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 63b99082ef83eade08151f8cb528246fded81db9 Maintainer: samesch Status: ready -->
<!-- EN-Revision: 1afd3581fea176162adacef6dd692dfc114410f3 Maintainer: samesch Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="mysqli.ping" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
@@ -62,6 +62,31 @@
&mysqli.conditionalexception;
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>8.4.0</entry>
<entry>
Sowohl <methodname>mysqli::ping</methodname> als auch
<function>mysqli_ping</function> sind nun veraltet.
Die Funktionalität <literal>reconnect</literal> ist seit PHP 8.2.0 nicht
mehr verfügbar, wodurch diese Funktion überflüssig wurde.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<example>

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 035c126c0393fe154bac46e2c3c489ebadce48a5 Maintainer: samesch Status: ready -->
<!-- EN-Revision: 4d68e15db0907404cad6c78ac274fd8f8c31fba3 Maintainer: samesch Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="mysqli.refresh" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
@@ -59,6 +59,30 @@
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>8.4.0</entry>
<entry>
Sowohl <methodname>mysqli::refresh</methodname> als auch
<function>mysqli_refresh</function> sind nun veraltet. Stattdessen
sollte der SQL-Befehl <literal>FLUSH</literal> verwendet werden.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 90953eddaa06c6c83faf0dea76c241dfafeaa2a1 Maintainer: samesch Status: ready -->
<!-- EN-Revision: 699e596aaba256f7c3c81be8bb309e12fbd03ef4 Maintainer: samesch Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="mysqli.store-result" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
@@ -105,6 +105,29 @@
&mysqli.conditionalexception;
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>8.4.0</entry>
<entry>
Die Übergabe des Parameters <parameter>mode</parameter> ist nun veraltet.
Der Parameter hat seit PHP 8.1.0 keine Wirkung mehr.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 7e5d0d1bb69180c9de1992edf9613215c975fa57 Maintainer: samesch Status: ready -->
<!-- EN-Revision: 1afd3581fea176162adacef6dd692dfc114410f3 Maintainer: samesch Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="mysqli.thread-id" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
@@ -23,8 +23,8 @@
aktuellen Verbindung zurück, die dann mit der Funktion
<function>mysqli_kill</function> beendet werden kann. Wenn die Verbindung
unterbrochen wird und mit <function>mysqli_ping</function> wieder aufgebaut
wird, ist die Thread-ID eine andere. Daher sollte die Thread-ID nur
abgefragt werden, wenn sie benötigt wird.
wird, ändert sich die Thread-ID. Daher sollte die Thread-ID nur abgefragt
werden, wenn sie benötigt wird.
</para>
<note>
<para>

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 082ddc19f53e6e254010de1a1fbbe485ff744ec1 Maintainer: nobody Status: ready -->
<!-- EN-Revision: 216c5dc1ef01b98d6ccafe51056e4df68e77cbf6 Maintainer: nobody Status: ready -->
<!-- Reviewed: yes -->
<!-- Rev-Revision 91bec719b351e11e6f0fe618f091edbb82b9acc2 Reviewer: samesch -->
<refentry xml:id="pdostatement.execute" xmlns="http://docbook.org/ns/docbook">
@@ -157,7 +157,7 @@ $sth->execute();
/* Führt ein Prepared Statement mit einem Array für eine IN-Klausel aus */
$params = array(1, 21, 63, 171);
/* Erstelle einen String für die Parameter-Platzhalter, gefüllt bis zur Anzahl Parameter */
$place_holders = implode(',', array_fill(0, count($params), '?'));
$place_holders = '?' . str_repeat(', ?', count($params) - 1);
/*
Das bereitet das Statement mit genügend unbenannten Platzhaltern

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 3994d010e9374ae4f56707cbb22b1811a4cc1963 Maintainer: sergey Status: ready -->
<!-- EN-Revision: eff22719b03a83400103686b87d5b470c1d5c785 Maintainer: sergey Status: ready -->
<!-- Reviewed: no -->
<!-- $Revision$ -->
<reference xml:id="class.arrayobject" role="class" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude">
@@ -16,8 +16,8 @@
</para>
<note>
<simpara>
Diese Klasse hat konzeptionelle Mängel, weshalb von ihrer Verwendung
abgeraten wird.
Diese Klasse als Wrapper für Objekte zu verwenden, ist grundsätzlich
problematisch, weshalb von ihrer Verwendung mit Objekten abgeraten wird.
</simpara>
</note>
</section>