diff --git a/language-snippets.ent b/language-snippets.ent index 39aa3509e..ea470e2c4 100644 --- a/language-snippets.ent +++ b/language-snippets.ent @@ -1,6 +1,6 @@ - + @@ -2862,32 +2862,6 @@ so müssen diese als Referenzen in die Argument-Liste gegeben werden.'> '> - -Datenstrukturen'> - -Exceptions'> - - SPL bietet einige Standard-Exceptions an. - - - Siehe auch . - -'> - -Dateibehandlung'> -SPL bietet einige Klassen für die Verarbeitung von Dateien.'> - -Interfaces'> -SPL bietet einige Interfaces an.Siehe auch '> -Liste von Interfaces'> - -Iteratoren'> -SPL bietet einige Iteratoren zum durchlaufen von Objekten an.'> - -Verschiedene Klassen und Interfaces'> -Klassen und Interfaces, die nicht zu den anderen Kategorien in SPL passen.'> - Für maximale Portierbarkeit wird empfohlen, in ZIP-Dateinamen immer Schrägstriche (/) als Verzeichnis-Trennzeichen zu verwenden.'> diff --git a/language/oop5/traits.xml b/language/oop5/traits.xml index 78980e51e..1fee70b7b 100644 --- a/language/oop5/traits.xml +++ b/language/oop5/traits.xml @@ -1,6 +1,6 @@ - + Traits @@ -409,24 +409,30 @@ class MyHelloWorld { inc(); // echo 1 $p = new C2(); $p->inc(); // echo 1 + ?> ]]> @@ -436,17 +442,22 @@ $p = new C2(); $p->inc(); // echo 1 ]]> @@ -455,23 +466,30 @@ Example::doSomething(); Statische Eigenschaften - Vor PHP 8.3.0 wurden statische Eigenschaften von allen Klassen, die den - Trait verwenden, gemeinsam genutzt. Seit PHP 8.3.0 hat jede Klasse, die - den Trait verwendet, ihre eigene Kopie der statischen Eigenschaft. + Vor PHP 8.3.0 wurden in einem Trait definierte statische Eigenschaften + innerhalb einer einzigen Hierarchie von Klassen, die den Trait verwenden, + gemeinsam genutzt. Seit PHP 8.3.0 überschreibt die statische Eigenschaft + des Traits, die in die Kindklasse eingefügt wird, die statische + Eigenschaft, die die Kindklasse von der Elternklasse geerbt hat, die mit + demselben Trait definiert wurde. ]]> @@ -488,16 +506,20 @@ echo Example::$static; x; + ?> ]]> @@ -588,27 +610,40 @@ class ConstantsExample { Finale Methoden Seit PHP 8.3.0 kann der Modifikator - final auf Methoden angewendet - werden, die aus Traits stammen. + final mit dem Operator + as auf Methoden angewendet werden, die aus Traits + importiert wurden. Dadurch kann die Sichtbarkeit von Methoden, die aus + einem Trait stammen, in der Klasse, in der das Trait verwendet wird, + geändert werden. Definieren einer Methode aus einem Trait als <literal>final</literal> ]]> diff --git a/language/predefined/countable/count.xml b/language/predefined/countable/count.xml index c6a63b19a..571305201 100644 --- a/language/predefined/countable/count.xml +++ b/language/predefined/countable/count.xml @@ -1,6 +1,7 @@ - - + + + Countable::count @@ -14,9 +15,9 @@ - Die Methode wird ausgeführt, wenn die Funktion count - auf einem Objekt aufgerufen wird, dass Countable - implementiert. + Diese Methode wird ausgeführt, wenn value für + count ein Objekt ist, das + Countable implementiert. @@ -55,6 +56,7 @@ $counter = new Counter; for ($i = 0; $i < 10; ++$i) { echo "Ich wurde " . count($counter) . " mal ge-count()ed\n"; } + ?> ]]> diff --git a/language/predefined/interfaces.xml b/language/predefined/interfaces.xml index 4004e1e78..4ab04a156 100644 --- a/language/predefined/interfaces.xml +++ b/language/predefined/interfaces.xml @@ -1,5 +1,5 @@ - + diff --git a/language/types/string.xml b/language/types/string.xml index db28f1f60..1ad926895 100644 --- a/language/types/string.xml +++ b/language/types/string.xml @@ -117,9 +117,9 @@ echo 'Variablen werden $ebenfalls $nicht ersetzt'; Doppelte Anführungszeichen - Wenn der String in doppelte Anführungszeichen (") - eingeschlossen wird, interpretiert PHP zusätzliche Escape-Sequenzen für - Sonderzeichen: + Wenn der String in doppelte Anführungszeichen + (") eingeschlossen wird, interpretiert PHP die folgenden + Escape-Sequenzen für Sonderzeichen: @@ -934,7 +934,7 @@ Die Änderung des Zeichens an Index -3 auf o ergibt strong. Für alles, das komplexer ist, muss die - advanced + erweiterte Syntax verwendet werden. diff --git a/reference/misc/functions/die.xml b/reference/misc/functions/die.xml index cf9e662e5..c04867d8e 100644 --- a/reference/misc/functions/die.xml +++ b/reference/misc/functions/die.xml @@ -1,21 +1,22 @@ - + + + die - Entspricht exit + &Alias; exit &reftitle.description; - - Dieses Sprachkonstrukt entspricht exit. - + + &info.function.alias; + exit. + - - - + + + exit - Gibt eine Meldung aus und beendet das aktuelle Skript + Beendet das aktuelle Skript mit einem Statuscode oder einer Meldung &reftitle.description; - voidexit - stringstatus + neverexit + stringintstatus0 - - voidexit - intstatus - - - Beendet die Ausführung des Skripts. Shutdown-Funktionen - und Objekt-Destruktoren werden - immer ausgeführt, auch wenn exit aufgerufen wurde. - - - exit ist ein Sprachkonstrukt und kann ohne Klammern - aufgerufen werden, wenn kein status übergeben wird. - + + Beendet die Ausführung des Skripts. + Shutdown-Funktionen + und Objekt-Destruktoren + werden immer ausgeführt, auch wenn exit aufgerufen wurde. + &finally;-Blöcke werden jedoch nie ausgeführt. + + + Ein Exit-Code von 0 zeigt an, dass das Programm seine + Aufgaben erfolgreich ausgeführt hat. + Jeder andere Wert bedeutet, dass während der Ausführung ein Fehler + aufgetreten ist. + + + exit ist eine besondere Funktion, weil sie im Parser + ein eigenes Token hat. Als solche kann sie wie eine Anweisung (&dh; ohne + Klammern) verwendet werden, um das Skript mit dem Standard-Statuscode zu + beenden. + + + + Es ist nicht möglich, die globale Funktion exit zu + deaktivieren oder eine Funktion in einem Namensraum zu erstellen, die diese + Funktion überschreibt. + + &reftitle.parameters; - - - - status - - - Falls status eine Zeichenkette ist, gibt diese - Funktion beim Beenden den status aus. - - - Falls status vom Typ int ist, wird - dieser Wert als Exit-Status verwendet anstatt ausgegeben zu werden. Ein - Exit-Status sollte im Bereich von 0 bis 254 liegen, weil der - Exit-Status 255 von PHP reserviert ist und deshalb nicht benutzt werden - sollte. Der Status 0 wird verwendet, um ein Programm erfolgreich zu - beenden. - - - - - + + + status + + + Falls status eine Zeichenkette ist, gibt diese + Funktion den status unmittelbar vor dem Beenden aus. + Der von PHP zurückgegebene Exit-Code ist 0. + + + Falls status vom Typ int ist, gibt + PHP status als Exit-Code zurück. + + + Exit-Codes sollten im Bereich von 0 bis + 254 liegen, weil der Exit-Code 255 + von PHP reserviert ist und deshalb nicht benutzt werden sollte. + + + + + + Vor PHP 8.4.0 folgte exit nicht PHPs + Standard-Semantik der Typen-Jonglage + und berücksichtigte auch nicht die + strict_types-Deklaration. + declare. + + + Jeder Wert, der nicht vom Typ int war, wurde in + string umgewandelt, also auch Werte vom Typ + resource und array. + Seit PHP 8.4.0 folgt es der üblichen Semantik der Typen-Jonglage und löst + bei ungültigen Werten einen TypeError aus. + + + + + &reftitle.returnvalues; - - &return.void; - + + Da diese Funktion das PHP-Skript beendet, wird kein Wert zurückgegeben. + + + + + &reftitle.changelog; + + + + + &Version; + &Description; + + + + + 8.4.0 + + exit ist nun eine echte Funktion, folgt also der + üblichen + Semantik der Typen-Jonglage, + ist von der strict_types-Deklaration + betroffen, kann mit benannten Argumenten aufgerufen werden und kann eine + Variablenfunktion sein. + + + + + &reftitle.examples; - - - <literal>exit</literal>-Beispiel - + + Einfaches <literal>exit</literal>-Beispiel + + +]]> + + + + <function>exit</function>-Beispiel mit einem <type>string</type> + ]]> - - - - - - <literal>exit</literal>-Status-Beispiel - - -]]> - - - - - - Shutdown-Funktionen und Destruktoren werden trotzdem aufgerufen - + + + + Shutdown-Funktionen und Destruktoren werden trotzdem aufgerufen + ]]> - - &example.outputs; - - - - - + + &example.outputs; + + + + + + <function>exit</function> als Anweisung + + +]]> + + &reftitle.notes; - ¬e.language-construct; - - - Dieses Sprachkonstrukt entspricht die. - - + + + Vor PHP 8.4.0 war exit ein Sprachkonstrukt und keine + Funktion, sodass es nicht möglich war, es mit + Variablenfunktionen + oder Benannte Argumenten + aufzurufen. + + &reftitle.seealso; - - - register_shutdown_function - - + + register_shutdown_function + Shutdown-Funktionen + Objekt-Destruktoren + diff --git a/reference/misc/functions/highlight-string.xml b/reference/misc/functions/highlight-string.xml index d372eac3a..9629a5194 100644 --- a/reference/misc/functions/highlight-string.xml +++ b/reference/misc/functions/highlight-string.xml @@ -1,6 +1,6 @@ - + @@ -12,7 +12,7 @@ &reftitle.description; - stringboolhighlight_string + stringtruehighlight_string stringstring boolreturn&false; @@ -54,8 +54,8 @@ Wenn return auf &true; gesetzt ist, wird der hervorgehobene Code als Zeichenkette zurückgegeben, statt ihn direkt - auszugeben. In allen anderen Fällen wird bei Erfolg &true; und bei einem - Fehler &false; zurückgegeben. + auszugeben. + In allen anderen Fällen wird &true; zurückgegeben. @@ -71,6 +71,13 @@ + + 8.4.0 + + Der Typ der Rückgabe wurde von + stringbool auf + stringtrue geändert. + 8.3.0 diff --git a/reference/misc/functions/pack.xml b/reference/misc/functions/pack.xml index 84c5f01f4..5d4ddac65 100644 --- a/reference/misc/functions/pack.xml +++ b/reference/misc/functions/pack.xml @@ -1,6 +1,6 @@ - + @@ -319,12 +319,12 @@ $binaerdaten = pack("nvc*", 0x1234, 0x5678, 65, 66); Es ist zu beachten, dass PHP int-Werte intern als - vorzeichenbehaftete Werte einer maschinenabhängigen Größe speichert (C-Typ - long). Integer-Literale und Operationen, die Zahlen - außerhalb der Grenzen des Typs int ergeben, werden als - float gespeichert. Wenn diese Floats als Integer gepackt - werden, werden sie zuerst in den Integer-Typ gewandelt. Dies kann u. U. - ein nicht erwünschtes Byte-Muster ergeben. + vorzeichenbehaftete Werte einer maschinenabhängigen Größe speichert. + Integer-Literale und Operationen, die Zahlen außerhalb der Grenzen des Typs + int ergeben, werden als float gespeichert. + Wenn diese Floats als Integer gepackt werden, werden sie zuerst in den + Integer-Typ gewandelt. Dies kann u.U. ein nicht erwünschtes Byte-Muster + ergeben. Der wichtigste Fall ist das Packen vorzeichenloser Zahlen, die als diff --git a/reference/mysqli/mysqli/get-warnings.xml b/reference/mysqli/mysqli/get-warnings.xml index a9a6a0d94..f0343b71b 100644 --- a/reference/mysqli/mysqli/get-warnings.xml +++ b/reference/mysqli/mysqli/get-warnings.xml @@ -1,6 +1,6 @@ - + @@ -22,7 +22,100 @@ mysqlimysql - &warn.undocumented.func; + + Gibt eine einfach verknüpfte Liste bestehend aus + mysqli_warning oder &false; zurück, wenn keine + Warnungen vorhanden sind. + Jedes Objekt in der Liste entspricht einer einzelnen Zeile des Ergebnisses + von SHOW WARNINGS. + Durch den Aufruf von mysqli_warning::next wird das + Objekt mit den Werten der nächsten Zeile neu gefüllt. + + + + Um Warnmeldungen abzurufen, wird empfohlen, statt dieser Funktion den + SQL-Befehl SHOW WARNINGS [limit row_count] zu verwenden. + + + + + Die verknüpfte Liste kann nicht zurückgespult oder erneut aufgerufen werden. + + + + + + &reftitle.parameters; + + &mysqli.link.description; + + + + + &reftitle.returnvalues; + + Gibt eine einfach verknüpfte Liste bestehend aus + mysqli_warning oder &false; zurück, wenn keine + Warnungen vorhanden sind. + + + + + &reftitle.examples; + + Die verknüpfte Liste durchlaufen, um alle Warnungen zu erhalten + &style.oop; + +query("SELECT 1/0, CAST('NULL' AS UNSIGNED)"); + +if ($mysqli->warning_count > 0) { + $warning = $mysqli->get_warnings(); + if ($warning !== false) { + do { + printf("Fehlernummer: %s\n", $warning->errno); + printf("Meldung: %s\n", $warning->message); + } while ($warning->next()); + } +} +]]> + + &style.procedural; + + 0) { + $warning = mysqli_get_warnings($link); + if ($warning !== false) { + do { + printf("Fehlernummer: %s\n", $warning->errno); + printf("Meldung: %s\n", $warning->message); + } while ($warning->next()); + } +} +]]> + + &examples.outputs; + + + + diff --git a/reference/mysqli/mysqli/warning-count.xml b/reference/mysqli/mysqli/warning-count.xml index 47652030f..12ca15bad 100644 --- a/reference/mysqli/mysqli/warning-count.xml +++ b/reference/mysqli/mysqli/warning-count.xml @@ -1,7 +1,8 @@ - - + + + mysqli::$warning_count @@ -25,10 +26,10 @@ angebene Verbindung erzeugt wurden. - + Für das Ermitteln der Warnungen kann der SQL-Befehl SHOW WARNINGS [limit row_count] verwendet werden. - + @@ -56,72 +57,40 @@ query("SELECT 42/0"); + +if ($mysqli->warning_count > 0) { + $result = $mysqli->query("SHOW WARNINGS"); + $row = $result->fetch_row(); + printf("%s (%d): %s\n", $row[0], $row[1], $row[2]); } - -$mysqli->query("CREATE TABLE myCity LIKE City"); - -/* eine bemerkenswerte Stadt in Wales */ -$query = "INSERT INTO myCity (CountryCode, Name) VALUES('GBR', - 'Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch')"; - -$mysqli->query($query); - -if ($mysqli->warning_count) { - if ($result = $mysqli->query("SHOW WARNINGS")) { - $row = $result->fetch_row(); - printf("%s (%d): %s\n", $row[0], $row[1], $row[2]); - $result->close(); - } -} - -/* close connection */ -$mysqli->close(); -?> ]]> &style.procedural; 0) { + $result = mysqli_query($link, "SHOW WARNINGS"); + $row = mysqli_fetch_row($result); + printf("%s (%d): %s\n", $row[0], $row[1], $row[2]); } - -mysqli_query($link, "CREATE TABLE myCity LIKE City"); - -/* eine bemerkenswert langer Stadtname in Wales */ -$query = "INSERT INTO myCity (CountryCode, Name) VALUES('GBR', - 'Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch')"; - -mysqli_query($link, $query); - -if (mysqli_warning_count($link)) { - if ($result = mysqli_query($link, "SHOW WARNINGS")) { - $row = mysqli_fetch_row($result); - printf("%s (%d): %s\n", $row[0], $row[1], $row[2]); - mysqli_free_result($result); - } -} - -/* close connection */ -mysqli_close($link); -?> ]]> &examples.outputs; diff --git a/reference/mysqli/mysqli_driver/report-mode.xml b/reference/mysqli/mysqli_driver/report-mode.xml index 5fe920269..2c5e8040f 100644 --- a/reference/mysqli/mysqli_driver/report-mode.xml +++ b/reference/mysqli/mysqli_driver/report-mode.xml @@ -1,6 +1,6 @@ - + @@ -13,11 +13,11 @@ &reftitle.description; &style.oop; - intmysqli_driver->report_mode + intmysqli_driver->report_mode &style.procedural; - boolmysqli_report + truemysqli_report intflags @@ -88,7 +88,7 @@ &reftitle.returnvalues; - Returns &true;. + &return.true.always; @@ -205,7 +205,6 @@ try { - - + &reftitle.constants; &extension.constants.core; -
- <function>openlog</function>-Optionen - - - - Konstante - Beschreibung - - - - - LOG_CONS - - Tritt ein Fehler auf, wenn Daten an den Systemlogger gesendet werden, - leite die Ausgabe direkt an die Konsole um. - - - - LOG_NDELAY - - Öffnet die Verbindung zum Logger sofort. - - - - LOG_ODELAY - - (Standardwert); öffnet die Verbindung erst, wenn die erste - Meldung geloggt werden soll. - - - - LOG_NOWAIT - - - - - LOG_PERROR - Schreibt den Logeintrag auch in das Standard-Error-Device - - - LOG_PID - Fügt die PID an jede Message an - - - -
- - <function>openlog</function>-Möglichkeiten - - - - Konstante - Beschreibung - - - - - LOG_AUTH - - Sicherheits-/Authorisierungsmeldungen (benutzt statt dessen - LOG_AUTHPRIV in Systemen, wo diese Konstante - definiert ist). - - - - LOG_AUTHPRIV - Sicherheits-/Authorisierungsmeldungen (private) - - - LOG_CRON - Zeitabhängig gestartete Dienste (cron und at) - - - LOG_DAEMON - Andere Systemdienste - - - LOG_KERN - Kernel-Meldungen - - - LOG_LOCAL0 - Reserviert für lokale Nutzung; nicht verfügbar unter Windows - - - LOG_LOCAL1 - Reserviert für lokale Nutzung; nicht verfügbar unter Windows - - - LOG_LOCAL2 - Reserviert für lokale Nutzung; nicht verfügbar unter Windows - - - LOG_LOCAL3 - Reserviert für lokale Nutzung; nicht verfügbar unter Windows - - - LOG_LOCAL4 - Reserviert für lokale Nutzung; nicht verfügbar unter Windows - - - LOG_LOCAL5 - Reserviert für lokale Nutzung; nicht verfügbar unter Windows - - - LOG_LOCAL6 - Reserviert für lokale Nutzung; nicht verfügbar unter Windows - - - LOG_LOCAL7 - Reserviert für lokale Nutzung; nicht verfügbar unter Windows - - - LOG_LPR - Zeilen-Drucker Subsystem - - - LOG_MAIL - Mailing-Subsystem - - - LOG_NEWS - USENET-News-Subsystem - - - LOG_SYSLOG - Meldungen die intern von syslogd erzeugt wurden - - - LOG_USER - Generische User-Level-Meldungen - - - LOG_UUCP - UUCP-Subsystem - - - -
+ + + Verfügbare <parameter>flags</parameter> für + <function>openlog</function> + + + + + LOG_CONS + (int) + + + + Tritt beim Senden der Daten an den Systemlogger ein Fehler auf, direkt in + die Systemkonsole schreiben. + + + + + + + LOG_NDELAY + (int) + + + + Öffnet die Verbindung zum Logger sofort. + + + + + + + LOG_ODELAY + (int) + + + + Öffnet die Verbindung erst, wenn die erste Meldung geloggt werden soll. + Das ist die Standardeinstellung. + + + + + + + LOG_NOWAIT + (int) + + + + + + + + + + LOG_PERROR + (int) + + + + Schreibt Log-Meldungen zusätzlich nach STDERR. + + + + + + + LOG_PID + (int) + + + + Fügt die PID an jede Log-Meldung an. + + + + + + + + Verfügbare <parameter>facility</parameter> für + <function>openlog</function> + + + + + LOG_AUTH + (int) + + + + Für Sicherheits-/Authorisierungsmeldungen + + + + Stattdessen sollte LOG_AUTHPRIV verwendet werden, + wenn verfügbar. + + + + + + + + LOG_AUTHPRIV + (int) + + + + Für vertrauliche Sicherheits-/Authorisierungsmeldungen. + + + + + + + LOG_CRON + (int) + + + + Für Meldungen des Uhrzeit-Daemons. + Zum Beispiel cron oder at. + + + + + + + LOG_DAEMON + (int) + + + + Für Meldungen des Systemdiensts. + + + + + + + LOG_KERN + (int) + + + + Für Kernel-Meldungen. + + + + + + + LOG_LOCAL0 + (int) + + + + Reserviert für lokale Nutzung. + + + + Nicht verfügbar unter Windows. + + + + + + + + LOG_LOCAL1 + (int) + + + + Reserviert für lokale Nutzung. + + + + Nicht verfügbar unter Windows. + + + + + + + + LOG_LOCAL2 + (int) + + + + Reserviert für lokale Nutzung. + + + + Nicht verfügbar unter Windows. + + + + + + + + LOG_LOCAL3 + (int) + + + + Reserviert für lokale Nutzung. + + + + Nicht verfügbar unter Windows. + + + + + + + + LOG_LOCAL4 + (int) + + + + Reserviert für lokale Nutzung. + + + + Nicht verfügbar unter Windows. + + + + + + + + LOG_LOCAL5 + (int) + + + + Reserviert für lokale Nutzung. + + + + Nicht verfügbar unter Windows. + + + + + + + + LOG_LOCAL6 + (int) + + + + Reserviert für lokale Nutzung. + + + + Nicht verfügbar unter Windows. + + + + + + + + LOG_LOCAL7 + (int) + + + + Reserviert für lokale Nutzung. + + + + Nicht verfügbar unter Windows. + + + + + + + + LOG_LPR + (int) + + + + Für Meldungen des Zeilendrucker-Subsystems. + + + + + + + LOG_MAIL + (int) + + + + Für Meldungen des Mail-Subsystems. + + + + + + + LOG_NEWS + (int) + + + + Für Meldungen des USENET-News-Subsystems. + + + + + + + LOG_SYSLOG + (int) + + + + Für Meldungen, die intern von syslogd erzeugt wurden. + + + + + + + LOG_USER + (int) + + + + Für generische Meldungen der Benutzerebene. + + + + + + + LOG_UUCP + (int) + + + + Für Meldungen des UUCP-Subsystems. + + + + + + + + Verfügbare <parameter>priority</parameter> für + <function>syslog</function> + + + + Die Konstanten sind nach Priorität geordnet, von dringend bis + Debug-Meldungen. + + + + + LOG_EMERG + (int) + + + + Notfall; das System ist unbrauchbar. + Dies entspricht einer Paniksituation. + Wird normalerweise an alle Prozesse gesendet. + + + + + + + LOG_ALERT + (int) + + + + Warnung; sofortige Maßnahmen sind erforderlich. + Zum Beispiel eine beschädigte Systemdatenbank. + + + + + + + LOG_CRIT + (int) + + + + Kritisch, es besteht Handlungsbedarf. + Beispiel: Ein Gerät ist defekt. + + + + + + + LOG_ERR + (int) + + + + Fehlermeldungen. + + + + + + + LOG_WARNING + (int) + + + + Warnhinweise. + + + + + + + LOG_NOTICE + (int) + + + + Hinweismeldungen, die Bedingungen entsprechen, die keine Fehlerbedingungen + sind, aber möglicherweise eine besondere Vorgehensweise erfordern. + + + + + + + LOG_INFO + (int) + + + + Informative Meldungen. + + + + + + + LOG_DEBUG + (int) + + + + Debugging-Meldungen, die Informationen enthalten, die normalerweise nur + bei der Fehlersuche in einem Programm von Nutzen sind. + + + + + + + + Verfügbare <parameter>type</parameter> für + <function>dns_get_record</function> + + + + + DNS_ANY + (int) + + + + Any-Ressource-Eintrag. + Auf den meisten Systemen werden alle Ressourcen-Einträge zurückgegeben, + aber aufgrund von Unterschieden in der Leistungsfähigkeit von + libresolv auf verschiedenen Plattformen ist dies nicht + garantiert. + + + Die langsamere DNS_ALL sammelt alle Einträge + zuverlässiger. + + + + + + + DNS_ALL + (int) + + + + Iterative Anfrage an den Nameserver für jeden verfügbaren Eintragstyp. + + + + + + + DNS_A + (int) + + + + IPv4-Adress-Ressource. + + + + + + + DNS_AAAA + (int) + + + + IPv6-Adress-Ressource. + + + + + + + DNS_A6 + (int) + + + + Definiert als Teil des frühen IPv6, aber durch + RFC 6563 auf historisch + zurückgestuft. + + + + + + + DNS_CAA + (int) + + + + Certification Authority Authorization-Resource + Verfügbar seit PHP 7.0.16 und 7.1.2. + + + + Not available on Windows. + + + + + + + + DNS_CNAME + (int) + + + + Alias (Canonical Name)-Ressource. + + + + + + + DNS_HINFO + (int) + + + + Hostinfo-Ressource + Weitere Erklärungen und Bedeutungen dieser Werte sind auf der Seite + Operating System Names + der IANA zu finden. + + + + + + + DNS_MX + (int) + + + + Mail-Exchanger-Ressource. + + + + + + + DNS_NAPTR + (int) + + + + Naming Authority Pointer. + + + + + + + DNS_NS + (int) + + + + Authoritative-Nameserver-Ressource. + + + + + + + DNS_PTR + (int) + + + + Pointer-Ressource. + + + + + + + DNS_SOA + (int) + + + + Start of Authority-Ressource. + + + + + + + DNS_SRV + (int) + + + + Service-Locator. + + + + + + + DNS_TXT + (int) + + + + Text-Ressource. + + + + - - <function>syslog</function>-Prioritäten (in absteigender Reihenfolge) - - - - Konstante - Beschreibung - - - - - LOG_EMERG - System ist unbrauchbar - - - LOG_ALERT - Aktion ist sofort erforderlich - - - LOG_CRIT - Kritischer Zustand - - - LOG_ERR - Fehler aufgetreten - - - LOG_WARNING - Warnung aufgetreten - - - LOG_NOTICE - Normale, aber wichtige Meldung - - - LOG_INFO - Informative Meldung - - - LOG_DEBUG - Debug-Level-Meldung - - - -
- - <function>dns_get_record</function>-Optionen - - - - Konstante - Beschreibung - - - - - DNS_A - IPv4-Adress-Ressource - - - DNS_A6 - Definiert als Teil des frühen IPv6, aber durch RFC 6563 als historisch zurückgestuft - - - DNS_CAA - Certification Authority Authorization Resource (verfügbar von PHP 7.0.16 und 7.1.2 an) - - - DNS_MX - Mail-Exchanger-Ressource - - - DNS_CNAME - Alias (Canonical Name)-Ressource - - - DNS_NAPTR - Naming Authority Pointer - - - DNS_NS - Authoritative-Nameserver-Ressource - - - DNS_PTR - DNS-Pointer-Ressource - - - DNS_HINFO - Hostinfo-Ressource (Siehe auch - Operating System - Names der IANA, wenn Sie mehr über die Bedeutung dieser - Werte wissen wollen.) - - - DNS_SOA - Start of Authority-Ressource - - - DNS_SRV - Service-Locator - - - DNS_TXT - Textressource - - - DNS_ANY - Any-Ressource-Eintrag. Auf den meisten System werden hierauf alle - Ressource-Einträge zurückgegeben, die Option sollte allerdings nicht - für kritische Anwendungen eingesetzt werden. Verwenden Sie statt dessen - DNS_ALL. - - - DNS_AAAA - IPv6-Adress-Ressource - - - DNS_ALL - Iterative Anfrage an den Nameserver für jeden verfügbaren - Eintragstyp. - - - -
- - + @@ -56,6 +56,28 @@
+ + &reftitle.changelog; + + + + + &Version; + &Description; + + + + + 8.4.0 + + Header können nun auch im FastCGI-Modus ohne Body geleert werden. + + + + + + + &reftitle.seealso; diff --git a/reference/password/functions/password-hash.xml b/reference/password/functions/password-hash.xml index bca9c3a3e..bb8d0b249 100644 --- a/reference/password/functions/password-hash.xml +++ b/reference/password/functions/password-hash.xml @@ -1,6 +1,6 @@ - + - + @@ -210,6 +210,16 @@ + + 8.3.0 + + password_hash setzt nun die zugrundeliegende + Random\RandomException als + Exception::$previous-Exception, wenn aufgrund + eines Fehlers bei der Erzeugung des Salt ein + ValueError ausgelöst wird. + + 8.0.0 diff --git a/reference/password/setup.xml b/reference/password/setup.xml index 22ac6ff77..718a34486 100644 --- a/reference/password/setup.xml +++ b/reference/password/setup.xml @@ -1,5 +1,5 @@ - + &reftitle.setup; @@ -8,9 +8,10 @@ &reftitle.required; &no.requirement; - Für Argon2 Passwort-Hashing wird allerdings - libargon2 benötigt. Von PHP 7.3.0 - an wird libargon2 Version 20161029 oder neuer benötigt. + Für Argon2 Passwort-Hashing wird entweder + libargon2 oder, von PHP 8.4.0 an, + OpenSSL Version 3.2 oder neuer benötigt. Von PHP 7.3.0 an wird libargon2 + Version 20161029 oder neuer benötigt. @@ -18,9 +19,11 @@ &reftitle.install; &no.install; - Um Argon2-Passwort-Hashing zu aktivieren, muss PHP jedoch mit Unterstützung - für libargon2 gebaut werden, indem die Konfigurationsoption - verwendet wird. + Um Argon2-Passwort-Hashing zu aktivieren, muss PHP jedoch entweder mit + Unterstützung für libargon2 gebaut werden, indem die Konfigurationsoption + verwendet wird, + oder, beginnend mit PHP 8.4.0, mit OpenSSL, indem + verwendet wird. Vor PHP 8.1.0 war es möglich, das argon2-Verzeichnis mit diff --git a/reference/pdo_sqlite/pdo_overloaded/sqliteCreateAggregate.xml b/reference/pdo_sqlite/pdo_overloaded/sqliteCreateAggregate.xml index db0e5c658..e9aa81366 100644 --- a/reference/pdo_sqlite/pdo_overloaded/sqliteCreateAggregate.xml +++ b/reference/pdo_sqlite/pdo_overloaded/sqliteCreateAggregate.xml @@ -1,12 +1,13 @@ + - + + PDO::sqliteCreateAggregate - Registriert eine benutzerdefinierte Aggregationsfunktion zur Verwendung in - SQL-Annweisungen + &Alias; Pdo\Sqlite::createAggregate @@ -14,256 +15,15 @@ &reftitle.description; public boolPDO::sqliteCreateAggregate - stringfunction_name - callablestep_func - callablefinalize_func - intnum_args + stringname + callablestep + callablefinalize + intnumArgs-1 - &warn.experimental.func; - - Diese Methode entspricht , mit - dem Unterschied, dass sie Funktionen registriert, welche benutzt werden - können, ein Ergebnis über alle Zeilen einer Anfrage zu aggregieren. - - - Der Hauptunterschied zwischen dieser Methode und - ist, dass zwei Funktionen - notwendig sind, um das Aggregat zu verwalten. - + + &info.method.alias; Pdo\Sqlite::createAggregate. + - - - &reftitle.parameters; - - - - function_name - - - Der Name der in SQL-Anweisungen genutzten Funktion. - - - - - step_func - - - Die Callback-Funktion, welche für jede Zeile des Abfrageergebnisses - ausgeführt wird. Ihr PHP sollte das Ergebnis akkumulieren und im - Aggregationskontext speichern. - - - Es ist notwendig, diese Funktion wie folgt zu definieren: - - mixedstep - mixedcontext - intrownumber - mixedvalue - mixedvalues - - - - context - - - Der Aggregationskontext. &null; für die erste Zeile; in den - folgenden Zeilen hat er den Wert, der zuvor von der - Schritt-Funktion zurückgegeben wurde. Sie sollten diesen nutzen, um - den Aggregationszustand zu bewahren. - - - - - rownumber - - - Die Nummer der aktuellen Zeile. - - - - - value - - - Das erste Argument, das an das Aggregat übergeben wurde. - - - - - values - - - Weitere Argumente, die an das Aggregat übergeben wurden. - - - - - Der Rückgabewert dieser Funktion wird als - context-Argument im nächsten Aufruf der Schritt- - oder End-Funktion verwendet. - - - - - finalize_func - - - Die Callback-Funktion, die die Informationen aller Zeilen aggregiert. - Sind alle Zeilen abgearbeitet, wird diese Funktion aufgerufen. Diese - sollte dann die Daten des Aggregationskontexts auswerten und das - Ergebnis zurückgeben. Diese Callback-Funktion sollte einen Variablentyp - liefern, der von SQLite erwartet wird, &zb; den - Skalar-Typ. - - - Diese Funktion ist wie folgt zu definieren: - - mixedfini - mixedcontext - introwcount - - - - context - - - Enthält den Rückgabewert des letzten Aufrufs der Schritt-Funktion. - - - - - rowcount - - - Enthält die Anzahl an Zeilen, die bereits aggregiert wurden. - - - - - Der Rückgabewert dieser Funktion wird als Rückgabewert für die - Aggregation genutzt. - - - - - num_args - - - Hinweis für den SQLite-Parser, ob die Callback-Funktion eine bestimmte - Anzahl an Parametern erwartet. - - - - - - - - - &reftitle.returnvalues; - - &return.success; - - - - - &reftitle.examples; - - - Beispiel für eine 'max_length'-Aggregationsfunktion - -exec("CREATE TABLE strings(a)"); -$insert = $db->prepare('INSERT INTO strings VALUES (?)'); -foreach ($data as $str) { - $insert->execute(array($str)); -} -$insert = null; - -function max_len_step($context, $rownumber, $string) -{ - if (strlen($string) > $context) { - $context = strlen($string); - } - return $context; -} - -function max_len_finalize($context, $rowcount) -{ - return $context === null ? 0 : $context; -} - -$db->sqliteCreateAggregate('max_len', 'max_len_step', 'max_len_finalize'); - -var_dump($db->query('SELECT max_len(a) from strings')->fetchAll()); - -?> -]]> - - - - - In diesem Beispiel erzeugen wir eine Aggregationsfunktion, die die Länge - der längsten Zeichenkette innerhalb einer der Tabellenspalten ermittelt. - Die max_len_step-Funktion wird für jede durchlaufene Zeile - mit dem Parameter $context aufgerufen. Der Parameter - 'context' ist eine normal PHP-Variable, welche ein Array oder sogar einen - Objektwert beinhalten kann. In diesem Beispiel benötigen wir ihn als Speicher - für die größte bisher gefundene Länge. Wenn die Zeichenkette in - $string länger ist, als die aktuell längste, wird der - Inhalt von 'context' mit der neuen Länge überschrieben. - - - Nachdem alle Zeilen abgearbeitet wurden, ruft SQLite die - max_len_finalize-Funktion auf, um das Endergebnis zu - ermitteln. Hier können wir nun jede Art von Berechnungen, basierend auf den - in $context gesammelten Daten, durchführen. In unserem - einfachen Beispiel haben wir die Berechnungen jedoch bereits bei der - Datenerhebung getätigt, sodass wir nun nur noch den Inhalt von 'context' - zurückzugeben brauchen. - - - - Es ist nicht ratsam, eine Kopie der Inhalte in 'context' zu speichern, um - diese dann am Ende auszuwerten. Das würde dazu führen, dass SQLite eine - große Menge an Speicher benötigt, um die Abfrage abzuarbeiten. Überlegen Sie - nur mal, wieviel Speicher eine Abfrage braucht, die 1 Millionen Zeilen mit - je 32 Byte Inhalt aus der Datenbank liest. - - - - - Sie können und - nutzen, um SQLites - native SQL-Funktionen zu überschreiben. - - - - - - &reftitle.seealso; - - - - sqlite_create_function - sqlite_create_aggregate - - - - - + + PDO::sqliteCreateFunction - Registriert eine benutzerdefinierte Funktion (UDF) zur Nutzung in - SQL-Anweisungen + &Alias; Pdo\Sqlite::createFunction @@ -19,101 +20,9 @@ intnum_args-1 intflags0 - &warn.experimental.func; - - Diese Methode ermöglicht es, in SQLite eine PHP-Funktion als eine - benutzerdefinierte Funktion (UDF) zu registrieren, die - dann in einer SQL-Anweisung aufgerufen werden kann. - - - Die UDF kann nun in jeder SQL-Anweisung genutzt werden, die Funktionen - aufrufen kann, wie SELECT und UPDATE und auch in Triggern. - - - - - &reftitle.parameters; - - - - function_name - - - Der Name der Funktion, der in SQL-Anweisungen genutzt wird. - - - - - callback - - - Die Callback-Funktion, die die definierte SQL-Funktion verarbeitet. - - - - Die Callback-Funktionen sollten einen Typ zurückgeben, der von SQLite - verstanden wird, &zb; den - Skalar-Typ. - - - - Diese Funktion muss wie folgt definiert werden: - - mixedcallback - mixedvalue - mixedvalues - - - - value - - - Das erste Argument, das an die SQL-Funktion übergeben wurde. - - - - - values - - - Weitere Argumente, die an die SQL-Funktion übergeben wurden. - - - - - - - - - num_args - - - Die Anzahl von Argumenten, die die SQL-Funktion erwartet. Ist dieser - Parameter -1, dann kann die SQL-Funktion eine - beliebige Anzahl von Argumenten annehmen. - - - - - flags - - - Eine bitweise Verknüpfung von Flags. Zurzeit wird nur - PDO::SQLITE_DETERMINISTIC unterstützt, das angibt, - dass die Funktion für dieselbe Eingabe immer dasselbe Ergebnis - innerhalb einer einzelnen SQL-Anweisung zurückgibt. - - - - - - - - - &reftitle.returnvalues; - - &return.success; - + + &info.method.alias; Pdo\Sqlite::createFunction. + @@ -137,85 +46,6 @@ - - - &reftitle.examples; - - - <function>PDO::sqliteCreateFunction</function>-Beispiel - -sqliteCreateFunction('md5rev', 'md5_und_umkehren', 1); -$zeilen = $db->query('SELECT md5rev(dateiname) FROM dateien')->fetchAll(); -?> -]]> - - - - - In diesem Beispiel wird eine Funktion verwendet, die die md5-Checksumme - einer Zeichenkette berechnet und anschließend umgekehrt. Wenn die - SQL-Anweisung ausgeführt wird, gibt sie gibt sie den Wert des Dateinamens - zurück, der von unserer Funktion umgewandelt wurde. Die Rückgabewerte der - Funktion werden in $zeilen gespeichert. - - - Das Praktische an dieser Technik ist, dass das Ergebnis der Abfrage nicht - in einer &foreach;-Schleife nachbearbeitet werden muss. - - - - - Sie können und - nutzen, um native - SQLite-SQL-Funktionen zu überschreiben. - - - - - - &reftitle.seealso; - - - - sqlite_create_function - sqlite_create_aggregate - - - - - SQLite Functions (PDO_SQLITE) + SQLite-Funktionen (PDO_SQLITE) SQLite (PDO) @@ -19,13 +19,12 @@ PDO_SQLITE erlaubt es Zeichenketten, abgesehen von Datenströmen, mit PDO::PARAM_LOB zu nutzen. - &reference.pdo-sqlite.configure; - + @@ -60,8 +59,8 @@ - Besteht der DSN nur aus dem Präfix, wird eine temporäre Datenbank verwendet, - die gelöscht wird, wenn die Verbindung geschlossen wird. + Besteht der DSN nur aus dem Präfix, wird eine temporäre Datenbank + verwendet, die gelöscht wird, wenn die Verbindung geschlossen wird. @@ -75,7 +74,7 @@ &reftitle.examples; - PDO_SQLITE DSN Beispiele + PDO_SQLITE-DSN-Beispiele Die folgenden Beispiele zeigen PDO_SQLITE DSN, die genutzt werden, um Verbindungen zu SQLite-Datenbanken aufzubauen: diff --git a/reference/spl/book.xml b/reference/spl/book.xml index 764051c29..44538df86 100644 --- a/reference/spl/book.xml +++ b/reference/spl/book.xml @@ -1,6 +1,7 @@ - - + + + @@ -9,16 +10,15 @@ &reftitle.intro; - - Die Standard PHP Library (SPL) ist eine Sammlung von Interfacen und Klassen - für die Lösung von Standardproblemen. - - - SPL bietet eine Reihe von Standard-Datenstrukturen, eine Reihe von Iteratoren, - um Objekte zu durchlaufen, eine Reihe von Schnittstellen, eine Reihe von - Standard-Ausnahmen, eine Reihe von Klassen, um mit Dateien zu arbeiten und es - enthält eine Reihe von Funktionen wie spl_autoload_register - + + Die Erweiterung Standard PHP Library (SPL) definiert Schnittstellen und + Klassen für die Lösung allgemeiner Probleme. + + + Die Erweiterung bietet verschiedene Datenstrukturen, generische Exceptions, + Iteratoren, Klassen für die Arbeit mit Dateisystemen über eine + objektorientierte API und nützliche Funktionen. + &reference.spl.interfaces;