Presentat первый бета-выпуск новой ветки языка программирования PHP 8. Релиз намечен на 26 ноября. Одновременно сформированы корректирующие выпуски PHP 7.4.9, 7.3.21 и
7.2.33, в которых устранены накопившиеся ошибки и уязвимости.
suport именованных аргументов функций, позволяющих передававать в функцию значения в привязке к именам, т.е. можно передавать аргументы в произвольном порядке и определять необязательные аргументы. Например, «array_fill(start_index: 0, num: 100, value: 50)».
При вызове методов permès применение оператора «?», который позволяет инициировать вызов только, если метод присутствует, что позволяет избежать лишних проверок на возврат значения «null». Например, «$dateAsString = $booking->getStartDate()?->asDateTimeString()»;
suport tipus de sindicats, definint col·leccions de dos o més tipus (per exemple, “funció pública foo(Foo|Bar $input): int|float;”).
suport atributs (anotacions) que us permeten enllaçar metadades (com ara informació de tipus) a classes sense utilitzar la sintaxi de Docblock.
Поддержка выражений partit, которые в отличие от switch могут возвращать значения, поддерживают комбинирование условий, используют строгое сравнение типов и не требуют указания «break».
WeakMap per crear objectes que es poden sacrificar durant la recollida d'escombraries (per exemple, per emmagatzemar memòria cau innecessària).
Oportunitat utilitzant l'expressió "::class" per als objectes (anàloga a cridar get_class()).
Oportunitat definicions al bloc catch d'excepcions que no estan lligades a variables.
Oportunitat deixant una coma després de l'últim element de la llista de paràmetres de funció.
Nova interfície Cordable per identificar qualsevol tipus de cadena o dada que es pugui convertir en una cadena (per a la qual està disponible el mètode __toString()).
Nova característica str_contain(), un anàleg simplificat de strpos per determinar l'aparició d'una subcadena, així com les funcions str_starts_with() i str_ends_with() per comprovar les coincidències al principi i al final d'una cadena.
Característica afegida fdiv(), que realitza una operació de divisió sense llançar un error en dividir per zero.
Canviat lògica d'unió de cadenes. Per exemple, l'expressió 'echo "sum:" . $a + $b' s'havia interpretat anteriorment com a 'eco ("suma: " . $a) + $b', i a PHP 8 es tractarà com a "eco "sum: ". ($a + $b)'.
Estrènyer comprovant operacions aritmètiques i de bits, per exemple, les expressions "[] % [42]" i "$object + 4" donaran lloc a un error.
Implementat un algorisme d'ordenació estable en el qual es conserva l'ordre de valors idèntics en diferents execucions.