'PHP 8.3 ist ein Major-Update der Sprache PHP. Es beinhaltet viele neue Features und Verbesserungen.
Unter anderem die Typisierung von Klassen-Konstanten, tiefes Klonen von Readonly-Properties und Erweiterungen der Zufallsfunktionalität. Darüber hinaus sind wie üblich Performance-Optimierungen, Bug-Fixes und andere Aufräumarbeiten eingeflossen.', 'documentation' => 'Doc', 'main_title' => 'Released!', 'main_subtitle' => 'PHP 8.3 ist ein Major-Update der Sprache PHP.
Es beinhaltet viele neue Features und Verbesserungen.
Unter anderem die Typisierung von Klassen-Konstanten, tiefes Klonen von Readonly-Properties und Erweiterungen der Zufallsfunktionalität. Darüber hinaus sind wie üblich Performance-Optimierungen, Bug-Fixes und andere Aufräumarbeiten eingeflossen.', 'upgrade_now' => 'Wechsle jetzt zu PHP 8.3!', 'readonly_title' => 'Klonen von Readonly-Properties', 'readonly_description' => 'readonly-Properties können nun innerhalb der magischen __clone Methode geändert werden.', 'json_validate_title' => 'New json_validate() Funktion', 'json_validate_description' => 'json_validate() erlaubt es einen String auf syntaktisch korrektes JSON auf eine effizientere Art und Weise als json_decode() zu prüfen.', 'typed_class_constants_title' => 'Typisierung von Klassen-Konstanten', 'override_title' => 'Das neue #[\Override]-Attribut', 'override_description' => 'Durch das Nutzen des #[\Override]-Attributs bei einer Methode, wird PHP nun sicherstellen, dass diese Methode in einer Elternklasse oder einem implementierten Interface vorhanden ist. Die Angabe des Attributs macht deutlich, dass das Überschreiben der Method absichtlich erfolgt ist und erleichtert ein Refactoring, da das Entfernen der überschriebenen Methode in der Elternklasse dazu führt, dass ein Fehler geworfen wird.', 'randomizer_getbytesfromstring_title' => 'Neue Methode Randomizer::getBytesFromString()', 'randomizer_getbytesfromstring_description' => 'Die Random-Erweiterung, die in PHP 8.2 hinzugefügt wurde, wurde um eine neue Methode erweitert, die es erlaubt einen String zu generieren, der ausschließlich aus bestimmten Zeichen besteht. Diese Methode erlaubt es auf einfache Weise zufällige Bezeichner, wie beispielsweise Domainnamen, und numerische Strings beliebiger Länge zu erzeugen.', 'randomizer_getfloat_nextfloat_title' => 'Neue Methoden Randomizer::getFloat() und Randomizer::nextFloat()', 'randomizer_getfloat_nextfloat_description' => '

Durch die limitierte Präzision und der impliziten Rundung von Gleitkommazahlen war das gleichverteilte Generieren von Gleitkommazahlen innerhalb eines vorgegebenen Bereichs nicht einfach. Gängige Userland-Lösungen führen zu einer ungleichmäßigen Verteilung und geben potentiell Zahlen außerhalb des gewünschten Bereichs zurück.

Der Randomizer wurde daher um zwei Methoden erweitert, um zufällige Gleitkommazahlen mit einer Gleichverteilung zu generieren. Die Randomizer::getFloat()-Methode nutzt den γ-section-Algorithmus, welcher in Drawing Random Floating-Point Numbers from an Interval. Frédéric Goualard, ACM Trans. Model. Comput. Simul., 32:3, 2022. veröffentlicht wurde.

', 'dynamic_class_constant_fetch_title' => 'Dynamisches Abrufen von Klassen-Konstanten', 'command_line_linter_title' => 'Kommandozeilen-Linter unterstützt mehrere Dateien', 'command_line_linter_description' => '

Der Kommandozeilen-Linter erlaubt nun die Prüfung mehrerer Dateien.

', 'new_classes_title' => 'Neue Klassen, Interfaces, und Funktionen', 'new_dom' => 'Neue DOMElement::getAttributeNames(), DOMElement::insertAdjacentElement(), DOMElement::insertAdjacentText(), DOMElement::toggleAttribute(), DOMNode::contains(), DOMNode::getRootNode(), DOMNode::isEqualNode(), DOMNameSpaceNode::contains(), und DOMParentNode::replaceChildren() Methoden.', 'new_intl' => 'Neue IntlCalendar::setDate(), IntlCalendar::setDateTime(), IntlGregorianCalendar::createFromDate(), und IntlGregorianCalendar::createFromDateTime() Methoden.', 'new_ldap' => 'Neue ldap_connect_wallet(), und ldap_exop_sync() Funktionen.', 'new_mb_str_pad' => 'Neue mb_str_pad() Funktion.', 'new_posix' => 'Neue posix_sysconf(), posix_pathconf(), posix_fpathconf(), und posix_eaccess() Funktionen.', 'new_reflection' => 'Neue ReflectionMethod::createFromMethodName() Methode.', 'new_socket' => 'Neue socket_atmark() Funktion.', 'new_str' => 'Neue str_increment(), str_decrement(), und stream_context_set_options() Funktionen.', 'new_ziparchive' => 'Neue ZipArchive::getArchiveFlag() Methode.', 'new_openssl_ec' => 'Unterstützung der OpenSSL Erweiterung für das generieren von EC Schlüssel mit eigener Angabe von EC Parametern.', 'new_ini' => 'Neue INI Einstellung zend.max_allowed_stack_size zum Angeben der maximal erlaubten Stack größe.', 'ini_fallback' => 'Die php.ini Unterstützt nun die Fallback/Default-Wert Syntax.', 'anonymous_readonly' => 'Anonymous Klassen können nun auch als readonly markiert werden.', 'bc_title' => 'Veraltete Funktionalität und inkompatible Änderungen zu vorherigen PHP Versionen', 'bc_datetime' => 'Adäquatere Date/Time-Exceptions.', 'bc_arrays' => 'Die Zuweisung eines Negativen-Index n bei einem leeren Array sorgt nun dafür, dass der nächste Index n + 1 statt 0 ist.', 'bc_range' => 'Vänderungen an der range() Funktion.', 'bc_traits' => 'Veränderungen an der erneuten Deklarierung von Properties durch Traits.', 'bc_umultipledecimalseparators' => 'Die U_MULTIPLE_DECIMAL_SEPERATORS Konstante wurde als Veraltet markiert und wurde durch U_MULTIPLE_DECIMAL_SEPARATORS ersetzt.', 'bc_mtrand' => 'Die MT_RAND_PHP Mt19937 Variante wurde als veraltet markiert.', 'bc_reflection' => 'Der Rückgabewert von ReflectionClass::getStaticProperties() wurde von ?array zu array geändert.', 'bc_ini' => 'Die INI Einstellungen assert.active, assert.bail, assert.callback, assert.exception, and assert.warning wurden als veraltet markiert.', 'bc_standard' => 'Das Aufrufen der Funktionen get_class() und get_parent_class() ohne die Angabe von Parametern ist veraltet.', 'bc_sqlite3' => 'SQLite3: Wirft nun im default Exceptions.', 'footer_title' => 'Bessere Performance, verbesserte Syntax und verbesserte Typensicherheit.', 'footer_description' => '

For source downloads of PHP 8.3 please visit the downloads page. Windows binaries can be found on the PHP for Windows site. The list of changes is recorded in the ChangeLog.

The migration guide is available in the PHP Manual. Please consult it for a detailed list of new features and backward-incompatible changes.

', ];