Agefouert первый бета-выпуск новой ветки языка программирования PHP 8. Релиз намечен на 26 ноября. Одновременно сформированы корректирующие выпуски PHP 7.4.9, 7.3.21 и
7.2.33, в которых устранены накопившиеся ошибки и уязвимости.
Ënnerstëtzung именованных аргументов функций, позволяющих передававать в функцию значения в привязке к именам, т.е. можно передавать аргументы в произвольном порядке и определять необязательные аргументы. Например, «array_fill(start_index: 0, num: 100, value: 50)».
При вызове методов erlaabt применение оператора «?», который позволяет инициировать вызов только, если метод присутствует, что позволяет избежать лишних проверок на возврат значения «null». Например, «$dateAsString = $booking->getStartDate()?->asDateTimeString()»;
Ënnerstëtzung Gewerkschaft Zorte, Sammlungen vun zwou oder méi Typen definéieren (zum Beispill "ëffentlech Funktioun foo(Foo|Bar $input): int|float;").
Ënnerstëtzung Attributer (Annotatiounen) déi Iech erlaben Metadaten (wéi Typinformatioun) u Klassen ze binden ouni Docblock Syntax ze benotzen.
Поддержка выражений Match spillen, которые в отличие от switch могут возвращать значения, поддерживают комбинирование условий, используют строгое сравнение типов и не требуют указания «break».
WeakMap fir Objeten ze kreéieren déi während der Müllsammlung geaffert kënne ginn (zum Beispill fir onnéideg Cache ze späicheren).
Geleeënheet benotzt den Ausdrock "::class" fir Objeten (analog zum Opruff get_class ()).
Geleeënheet Definitiounen am Fangblock vun Ausnahmen déi net un Variablen gebonnen sinn.
Geleeënheet e Komma hannert dem leschten Element an der Lëscht vun de Funktiounsparameter hannerloossen.
Neien Interface Stringable fir all Stringtypen oder Daten z'identifizéieren déi an eng String ëmgewandelt kënne ginn (fir déi d'Method __toString () verfügbar ass).
Nei Feature str_contains(), e vereinfachte Analog vu strpos fir d'Optriede vun enger Substring ze bestëmmen, souwéi d'Funktiounen str_starts_with() an str_ends_with() fir d'Matcher um Ufank an Enn vun enger String ze kontrolléieren.
Zousätzlech Funktioun fdiv(), déi eng Divisiounsoperatioun ausféiert ouni e Feeler ze werfen wann se mat Null deelen.
Geännert String verbonne Logik. Zum Beispill, den Ausdrock 'Echo "sum:" . $a + $b' gouf virdru als 'Echo ("Zomm: " . $a) + $b' interpretéiert, an am PHP 8 gëtt als 'Echo "sum: " behandelt. ($a + $b)'.
Gestrach iwwerpréift arithmetesch a Bit Operatiounen, zum Beispill, d'Ausdréck "[] % [42]" an "$Objet + 4" wäert zu engem Feeler Resultat.
Ëmgesat e stabile Sortimentalgorithmus an deem d'Uerdnung vun identesche Wäerter iwwer verschidde Runen erhale bleift.