diff --git a/appendices/reserved.xml b/appendices/reserved.xml index 7bb2dd111..6a669384e 100644 --- a/appendices/reserved.xml +++ b/appendices/reserved.xml @@ -1,5 +1,5 @@ - + @@ -254,7 +254,7 @@ - use + use var diff --git a/language/basic-syntax.xml b/language/basic-syntax.xml index b8563d173..6d72e35ad 100644 --- a/language/basic-syntax.xml +++ b/language/basic-syntax.xml @@ -1,5 +1,5 @@ - + Grundlagen der Syntax @@ -58,7 +58,7 @@ - Wenn eine Datei nur PHP-Code enthält, ist es besser, den schließenden + Wenn eine Datei mit PHP-Code endet, ist es besser, den schließenden PHP-Tag am Ende der Datei wegzulassen. Dies verhindert, dass versehentlich Leerzeichen oder neue Zeilen nach dem schließenden Tag eingefügt werden, was unerwünschte Effekte verursachen kann, da PHP mit der Ausgabe beginnt, diff --git a/language/exceptions.xml b/language/exceptions.xml index f24336273..99639db73 100644 --- a/language/exceptions.xml +++ b/language/exceptions.xml @@ -1,5 +1,5 @@ - + @@ -402,7 +402,7 @@ class Exception implements Throwable private $trace; // Rückverfolgung private $previous; // Vorherige Exception, falls verschachtelte Exception - public function __construct($message = '', $code = 0, Throwable $previous = null); + public function __construct($message = '', $code = 0, ?Throwable $previous = null); final private function __clone(); // Verhindert klonen von Exceptions @@ -450,7 +450,7 @@ class Exception implements Throwable class MyException extends Exception { // Die Exception neu definieren, damit die Mitteilung nicht optional ist - public function __construct($message, $code = 0, Throwable $previous = null) { + public function __construct($message, $code = 0, ?Throwable $previous = null) { // etwas Code // sicherstellen, dass alles korrekt zugewiesen wird diff --git a/reference/array/functions/array-replace-recursive.xml b/reference/array/functions/array-replace-recursive.xml index f287a41ec..b614bcfa3 100644 --- a/reference/array/functions/array-replace-recursive.xml +++ b/reference/array/functions/array-replace-recursive.xml @@ -1,6 +1,5 @@ - - + @@ -78,7 +77,7 @@ array( "orange") , 'berries' => array("blackberry", "raspberry"), ); +$base = array('citrus' => array("orange"), 'berries' => array("blackberry", "raspberry")); $replacements = array('citrus' => array('pineapple'), 'berries' => array('blueberry')); $basket = array_replace_recursive($base, $replacements); diff --git a/reference/dio/configure.xml b/reference/dio/configure.xml index 459c5afce..362293830 100644 --- a/reference/dio/configure.xml +++ b/reference/dio/configure.xml @@ -1,6 +1,6 @@ - - + +
&reftitle.install; @@ -11,9 +11,6 @@ &pecl.info; &url.pecl.package;dio. - - &pecl.windows.download; -
- + @@ -77,6 +76,7 @@ Ungültiger serialisierter Wert. error_reporting set_error_handler + get_error_handler restore_exception_handler trigger_error diff --git a/reference/errorfunc/functions/restore-exception-handler.xml b/reference/errorfunc/functions/restore-exception-handler.xml index bb5e67c2d..7347c5f76 100644 --- a/reference/errorfunc/functions/restore-exception-handler.xml +++ b/reference/errorfunc/functions/restore-exception-handler.xml @@ -1,6 +1,6 @@ - - + + restore_exception_handler @@ -78,6 +78,7 @@ throw new Exception('Dies löst den ersten Exceptionhandler aus ...'); set_exception_handler + get_exception_handler set_error_handler restore_error_handler error_reporting diff --git a/reference/errorfunc/functions/set-error-handler.xml b/reference/errorfunc/functions/set-error-handler.xml index b9fbb760c..9f9b8cb6a 100644 --- a/reference/errorfunc/functions/set-error-handler.xml +++ b/reference/errorfunc/functions/set-error-handler.xml @@ -1,6 +1,5 @@ - - + @@ -176,11 +175,9 @@ &reftitle.returnvalues; - Gibt die zuvor definierte Fehlerbehandlungsroutine zurück (falls eine - definiert wurde). Wenn der eingebaute Errorhandler verwendet wurde, wird - &null; zurückgegeben. Wenn der vorgenannte Errorhandler eine - Klassenmethode war, gibt die Funktion ein indiziertes Array mit dem - Klassen- und dem Methodennamen zurück. + Gibt die zuvor definierte Fehlerbehandlungsroutine (falls eine definiert + wurde) als callable zurück. + Wenn der eingebaute Errorhandler verwendet wurde, wird &null; zurückgegeben. @@ -368,6 +365,7 @@ Abbruch...
ErrorException error_reporting restore_error_handler + get_error_handler trigger_error Errorlevel-Konstanten
diff --git a/reference/errorfunc/functions/set-exception-handler.xml b/reference/errorfunc/functions/set-exception-handler.xml index 57b142b8d..66a119894 100644 --- a/reference/errorfunc/functions/set-exception-handler.xml +++ b/reference/errorfunc/functions/set-exception-handler.xml @@ -1,6 +1,5 @@ - - + @@ -89,6 +88,7 @@ echo "Nicht ausgeführt.\n"; &reftitle.seealso; + get_exception_handler restore_exception_handler restore_error_handler error_reporting diff --git a/reference/filesystem/functions/file.xml b/reference/filesystem/functions/file.xml index 81984cdfa..040289d9a 100644 --- a/reference/filesystem/functions/file.xml +++ b/reference/filesystem/functions/file.xml @@ -1,6 +1,5 @@ - - + @@ -65,7 +64,7 @@ - Entferne den Zeilenumbruch am Ende jedes Array-Elements + Entferne den Zeilenumbruch am Ende jedes Array-Elements. @@ -75,7 +74,7 @@ - Überspringe leere Zeilen + Überspringe leere Zeilen. @@ -85,7 +84,7 @@ - Verwende nicht den Standardkontext + Verwende nicht den Standardkontext. diff --git a/reference/filesystem/functions/glob.xml b/reference/filesystem/functions/glob.xml index 24590bae4..6af6ba96b 100644 --- a/reference/filesystem/functions/glob.xml +++ b/reference/filesystem/functions/glob.xml @@ -1,6 +1,5 @@ - - + @@ -62,6 +61,13 @@ nicht in der Gruppe enthalten ist. + + + {a,b,c} - Wenn das Flag + GLOB_BRACE verwendet wird, eine Zeichenkette aus + einer Gruppe von Zeichenketten, die durch ein Komma getrennt sind. + + \ - Maskiert das folgende Zeichen, es sei denn, diff --git a/reference/ldap/functions/ldap-set-option.xml b/reference/ldap/functions/ldap-set-option.xml index cbec14e76..15d319011 100644 --- a/reference/ldap/functions/ldap-set-option.xml +++ b/reference/ldap/functions/ldap-set-option.xml @@ -1,6 +1,5 @@ - - + @@ -199,7 +198,7 @@ Die Optionen LDAP_OPT_SERVER_CONTROLS und LDAP_OPT_CLIENT_CONTROLS benötigen eine Liste von - Steuerelementen, d. h. der Wert muss ein Array aus Steuerelementen + Steuerelementen, &dh; der Wert muss ein Array aus Steuerelementen sein. Ein Steuerelement besteht aus einer OID, die das Steuerelement identifiziert, einem optionalen Wert, und einem optionalen Kennzeichen für die @@ -215,6 +214,14 @@ für Details. Ebenso ist das zweite Beispiel weiter unten zu konsultieren. + + + Alle TLS-Optionen müssen global gesetzt werden, bevor + ldap_connect bei einer LDAPS-Verbindung oder bevor + ldap_start_tls bei einer Klartextverbindung + aufgerufen wird. + + diff --git a/reference/mysqli/mysqli/connect-errno.xml b/reference/mysqli/mysqli/connect-errno.xml index 0fc97918c..6e2e2d8e7 100644 --- a/reference/mysqli/mysqli/connect-errno.xml +++ b/reference/mysqli/mysqli/connect-errno.xml @@ -1,6 +1,5 @@ - - + @@ -31,9 +30,13 @@ &reftitle.returnvalues; - Gibt den Fehlercode für den letzten Verbindungsversuch zurück, falls dieser + Der Fehlercode für den letzten Verbindungsversuch, falls dieser fehlgeschlagen ist. Null bedeutet, dass kein Fehler aufgetreten ist. + + Gibt den letzten Fehlercode der Verbindung zurück, unabhängig davon, auf + welcher Instanz er aufgerufen wurde. + diff --git a/reference/mysqli/mysqli/connect-error.xml b/reference/mysqli/mysqli/connect-error.xml index d10db0923..742361257 100644 --- a/reference/mysqli/mysqli/connect-error.xml +++ b/reference/mysqli/mysqli/connect-error.xml @@ -1,6 +1,5 @@ - - + @@ -31,8 +30,12 @@ &reftitle.returnvalues; - Gibt eine Zeichenkette zurück, die den Fehler beschreibt. Wenn kein Fehler - aufgetreten ist, wird &null; zurückgegeben. + Die Zeichenkette, die den Fehler beschreibt. Wenn kein Fehler aufgetreten + ist, wird &null; zurückgegeben. + + + Gibt den letzten Fehler der Verbindung zurück, unabhängig davon, auf welcher + Instanz er aufgerufen wurde. diff --git a/reference/mysqlnd/plugin.xml b/reference/mysqlnd/plugin.xml index 9369b9cb9..b6f74bf24 100644 --- a/reference/mysqlnd/plugin.xml +++ b/reference/mysqlnd/plugin.xml @@ -1,5 +1,5 @@ - + Plugin-API des MySQL Native Drivers @@ -293,9 +293,9 @@ Plugin-Entwickler können die mysqlnd-Version ermitteln, indem sie auf MYSQLND_VERSION zugreifen, eine - Zeichenkette im Format mysqlnd 5.0.7-dev - 091210 - $Revision: - 300535, oder über MYSQLND_VERSION_ID, eine ganze - Zahl, &zb; 50007. Die Versionsnummer kann wie folgt berechnet werden: + Zeichenkette im Format mysqlnd 8.3.17, oder über + MYSQLND_VERSION_ID, eine ganze Zahl, &zb; 50007. Die + Versionsnummer kann wie folgt berechnet werden: Tabelle für die Berechnung der MYSQLND_VERSION_ID diff --git a/reference/password/setup.xml b/reference/password/setup.xml index 718a34486..679a8bbbd 100644 --- a/reference/password/setup.xml +++ b/reference/password/setup.xml @@ -1,5 +1,6 @@ - + + &reftitle.setup; @@ -23,7 +24,8 @@ Unterstützung für libargon2 gebaut werden, indem die Konfigurationsoption verwendet wird, oder, beginnend mit PHP 8.4.0, mit OpenSSL, indem - verwendet wird. + und + verwendet wird. Vor PHP 8.1.0 war es möglich, das argon2-Verzeichnis mit diff --git a/reference/pcntl/functions/pcntl-signal.xml b/reference/pcntl/functions/pcntl-signal.xml index 74bb05fa7..b123a4a9a 100644 --- a/reference/pcntl/functions/pcntl-signal.xml +++ b/reference/pcntl/functions/pcntl-signal.xml @@ -1,8 +1,8 @@ - + - + pcntl_signal Richtet eine Signalverarbeitung ein diff --git a/reference/pcre/constants.xml b/reference/pcre/constants.xml index fe5af1659..08a86cdb7 100644 --- a/reference/pcre/constants.xml +++ b/reference/pcre/constants.xml @@ -1,6 +1,6 @@ - - + + &reftitle.constants; &extension.constants; @@ -49,7 +49,11 @@ (int) - Siehe Beschreibung von PREG_SPLIT_OFFSET_CAPTURE. + Wenn dieses Flag gesetzt ist, wird für jede gefundene Übereinstimmung + auch der dazugehörige Byte-Versatz zurückgegeben. Beachten Sie, dass dies + die Rückgabewerte in einem Array dahingehend ändert, dass jedes Element + ein Array ist, das aus der übereinstimmenden Zeichenkette als erstem und + deren Stelle im durchsuchten Text als zweitem Element besteht. @@ -82,12 +86,8 @@ (int) - Wenn dieses Flag gesetzt ist, wird für jede gefundene Übereinstimmung - auch der dazugehörige Versatz zurückgegeben. Beachten Sie, dass dies die - Rückgabewerte in einem Array dahingehend ändert, dass jedes Element ein - Array ist, das aus der übereinstimmenden Zeichenkette als erstem und - deren Stelle im durchsuchten Text als zweitem Element besteht. Dieses - Flag wird nur für preg_split verwendet. + Siehe Beschreibung von PREG_SPLIT_OFFSET_CAPTURE. + Dieses Flag wird nur bei preg_split verwendet. diff --git a/reference/pdo/pdoexception.xml b/reference/pdo/pdoexception.xml index edb339108..7104d3be8 100644 --- a/reference/pdo/pdoexception.xml +++ b/reference/pdo/pdoexception.xml @@ -1,6 +1,5 @@ - - + @@ -49,7 +48,7 @@ &InheritedProperties; - + diff --git a/reference/pdo/pdostatement/rowcount.xml b/reference/pdo/pdostatement/rowcount.xml index 8a8b3ffcd..96e219870 100644 --- a/reference/pdo/pdostatement/rowcount.xml +++ b/reference/pdo/pdostatement/rowcount.xml @@ -1,6 +1,5 @@ - - + @@ -31,9 +30,8 @@ - Diese Methode gibt beim SQLite-Treiber immer "0" (Null) zurück, beim - PostgreSQL-Treiber nur dann, wenn das Statement-Attribut - PDO::ATTR_CURSOR auf + Diese Methode gibt beim PostgreSQL-Treiber "0" (Null) zurück, wenn das + Statement-Attribut PDO::ATTR_CURSOR auf PDO::CURSOR_SCROLL gesetzt ist. diff --git a/reference/rar/setup.xml b/reference/rar/setup.xml index 908ce88ef..1aa33804f 100644 --- a/reference/rar/setup.xml +++ b/reference/rar/setup.xml @@ -1,6 +1,6 @@ - - + + &reftitle.setup; @@ -17,7 +17,8 @@ mit diesem Befehl: pecl -v install rar. - Sie können immer das tar.gz Paket herunterladen und RAR manuell installieren.: + Sie können jederzeit das tar.gz-Paket herunterladen und + RAR manuell installieren.: Rar Installation @@ -32,9 +33,8 @@ phpize - Windows Benutzer müssen php_rar.dll in der &php.ini; aktivieren, - um diese Funktionen verwenden zu können. - &pecl.windows.download; + Windows-Benutzer müssen php_rar.dll in der &php.ini; + aktivieren, um diese Funktionen verwenden zu können. @@ -45,12 +45,13 @@ phpize Diese Erweiterung registriert drei interne Klassen: die von rar_open zurückgegebenen Archiv-Darstellungen - - RarArchive, die von rar_list und rar_entry_get - zurückgegebenen Eintragsdarstellungen - RarEntry und der Ausnahmetyp RarException. + RarArchive, die von rar_list und + rar_entry_get zurückgegebenen Eintragsdarstellungen - + RarEntry und den Exception-Typ RarException. - Diese Erweiterung registriert auch eine Stream Ressource, "rar" genannt und einen - URL Wrapper, "rar wrapper" genannt, registriert unter dem Präfix "rar". + Diese Erweiterung registriert auch eine Stream-Ressource, "rar" genannt und + einen URL-Wrapper, "rar wrapper" genannt, registriert unter dem Präfix "rar". diff --git a/reference/session/ini.xml b/reference/session/ini.xml index 44abf83c5..16a28d849 100644 --- a/reference/session/ini.xml +++ b/reference/session/ini.xml @@ -1,6 +1,5 @@ - - +
&reftitle.runtime; @@ -214,25 +213,25 @@ session.hash_function "0" INI_ALL - Entfernt in PHP 7.1.0 + Entfernt in PHP 7.1.0. session.hash_bits_per_character "4" INI_ALL - Entfernt in PHP 7.1.0 + Entfernt in PHP 7.1.0. session.entropy_file "" INI_ALL - Entfernt in PHP 7.1.0 + Entfernt in PHP 7.1.0. session.entropy_length "0" INI_ALL - Entfernt in PHP 7.1.0 + Entfernt in PHP 7.1.0. diff --git a/reference/simplexml/examples.xml b/reference/simplexml/examples.xml index 6999833ba..440217f15 100644 --- a/reference/simplexml/examples.xml +++ b/reference/simplexml/examples.xml @@ -1,5 +1,5 @@ - + @@ -421,6 +421,51 @@ blah + + + Verwenden von Namensräumen + + + + Onlivia Actora + + +XML; + +$movies = simplexml_load_string($data); + +// Der Namensraum http://www.w3.org/XML/1998/namespace ist als "xml" verfügbar. +echo $movies->movie->attributes("xml", true)["id"] . "\n"; + +// Auf Attribute mit Namensraum kann mit attributes() zugegriffen werden. +echo $movies->movie->attributes("a", true)["link"] . "\n"; + +// Durch die Verwendung der Namensraum-URI kann das Dokument jeden beliebigen +// Namensraum-Alias verwenden. +echo $movies->movie->attributes("http://a")["link"] . "\n"; + +// Auf Kinder kann mit children() zugegriffen werden. +echo $movies->movie->children("http://a")->actor . "\n"; + +// Um xpath() mit einem Namensraum zu benutzen, muss dieser zuerst registriert +// werden. +$movies->registerXPathNamespace("a", "http://a"); +echo count($movies->xpath("//a:actor")) . "\n"; + +// Auch der Standard-Namensraum muss registriert werden. +$movies->registerXPathNamespace("default", "http://default"); +echo count($movies->xpath("//default:movie")) . "\n"; + +// Dies ist leer. +echo count($movies->xpath("//movie")) . "\n"; +?> +]]> + + +
diff --git a/reference/var/functions/intval.xml b/reference/var/functions/intval.xml index 82c0172fb..de69664c5 100644 --- a/reference/var/functions/intval.xml +++ b/reference/var/functions/intval.xml @@ -1,6 +1,6 @@ - - + + intval @@ -136,7 +136,7 @@ - - + - - Vom Nutzer übermittelte Daten - - In vielen PHP Programmen liegt die größte Schwäche nicht an der Sprache - selbst, sondern bloß an Code, der nicht mit dem nötigen Augenmerk auf - die Sicherheit geschrieben wurde. Deshalb sollten Sie sich immer Zeit - nehmen, die Implikationen eines gegebenen Codestücks zu bedenken, um - einen möglichen Schaden durch eine eventuell unerwartete übergebene - Variable festzustellen. - - Gefährliche Verwendung von Variablen - + + Vom Nutzer übermittelte Daten + + In vielen PHP Programmen liegt die größte Schwäche nicht + an der Sprache selbst, sondern bloß an Code, der nicht mit dem nötigen + Augenmerk auf die Sicherheit geschrieben wurde. Deshalb sollten Sie sich + immer Zeit nehmen, die Implikationen eines gegebenen Codestücks zu bedenken, + um einen möglichen Schaden durch eine eventuell unerwartete übergebene + Variable festzustellen. + + Gefährliche Verwendung von Variablen + ]]> - - - - - Sie sollten Ihren Code immer sorgfältig kontrollieren, um eine - sorgfältige Prüfung irgendwelcher von einem Web-Browser übertragenen - Variablen sicherzustellen, und sich selbst folgende Fragen stellen: - - - - Wird sich dieses Skript nur auf die vorgesehenen Dateien auswirken? - - - - - Kann auf ungewöhnliche oder unerwünschte Daten reagiert werden? - - - - - Kann dieses Skript auf nicht vorgesehene Art genutzt werden? - - - - - Kann dies in Verbindung mit anderen Skripten in einer negativen - Art benutzt werden? - - - - - Werden alle Transaktionen ausreichend geloggt? - - - - - - Wenn Sie sich diese Fragen anstatt danach schon während dem Schreiben - des Skriptes stellen, ersparen Sie sich das unangenehme Umschreiben, - wenn eine Erhöhung der Sicherheit erforderlich wird. Mit dieser Art - zu denken werden Sie die Sicherheit des Systems zwar nicht garantieren, - aber sie können helfen, sie zu erhöhen. - - - Sie könnten auch Überlegungen anstellen, ob Sie nicht register_globals, - magic_quotes, oder andere bequeme Einstellungen abschalten, welche Sie - in Punkto Gültigkeit, Herkunft, oder Inhalt einer gegebenen Variable - durcheinanderbringen könnten. Mit PHP im error_reporting(E_ALL) Modus - zu arbeiten kann auch helfen, Sie vor Variablen zu warnen, welche - benutzt werden, bevor sie geprüft oder initialisiert wurden (so können - Sie verhindern, dass mit ungewöhnlichen Daten gearbeitet wird). - - - + + + + + Sie sollten Ihren Code immer sorgfältig kontrollieren, um eine sorgfältige + Prüfung irgendwelcher von einem Web-Browser übertragenen Variablen + sicherzustellen, und sich selbst folgende Fragen stellen: + + + + Wird sich dieses Skript nur auf die vorgesehenen Dateien auswirken? + + + + + Kann auf ungewöhnliche oder unerwünschte Daten reagiert werden? + + + + + Kann dieses Skript auf nicht vorgesehene Art genutzt werden? + + + + + Kann dies in Verbindung mit anderen Skripten in einer negativen + Art benutzt werden? + + + + + Werden alle Transaktionen ausreichend geloggt? + + + + + + Wenn Sie sich diese Fragen anstatt danach schon während des Schreibens des + Skriptes stellen, ersparen Sie sich das unangenehme Umschreiben, wenn eine + Erhöhung der Sicherheit erforderlich wird. Mit dieser Art zu denken werden + Sie die Sicherheit des Systems zwar nicht garantieren, aber sie können + helfen, sie zu erhöhen. + + + Verbessern Sie die Sicherheit, indem Sie Komfort-Einstellungen deaktivieren, + die die Herkunft, die Gültigkeit oder die Integrität von Eingabedaten + verschleiern. Die implizite Erstellung von Variablen und ungeprüfte Eingaben + können zu Sicherheitslücken wie Injection-Attacken und Datenmanipulation + führen. + + + Funktionalitäten wie register_globals und + magic_quotes (beide in PHP 5.4.0 entfernt) trugen früher + zu diesen Risiken bei, indem sie automatisch Variablen aus Benutzereingaben + erzeugten und Daten inkonsistent maskierten. Obwohl sie nicht mehr in PHP + enthalten sind, bleiben ähnliche Risiken bestehen, wenn die Verarbeitung von + Eingaben nicht richtig gehandhabt wird. + + + Aktivieren Sie + error_reporting(E_ALL), um + nicht initialisierte Variablen zu erkennen und Eingaben zu validieren. + Verwenden Sie strikte Typen + (declare(strict_types=1), + eingeführt in PHP 7), um Typsicherheit zu erzwingen, unbeabsichtigte + Typumwandlungen zu verhindern und die allgemeine Sicherheit zu verbessern. + +