Жіберген PHP 8 бағдарламалау тілінің жаңа тармағының бірінші бета-шығарылымы 26 қарашаға жоспарланған. Бұл ретте PHP 7.4.9, 7.3.21 және түзету шығарылымдары
7.2.33, ол жинақталған қателер мен осалдықтарды жойды.
қолдау аттарға қатысты функцияға мәндерді беруге мүмкіндік беретін аталған функция аргументтері, яғни. Аргументтерді кез келген ретпен беруге және қосымша аргументтерді анықтауға болады. Мысалы, "массив_толтыру(бастау_индекс: 0, сан: 100, мән: 50)".
Әдістерді шақыру кезінде рұқсат етілген «?» операторын пайдалану, бұл әдіс бар болған жағдайда ғана қоңырауды бастауға мүмкіндік береді, бұл «нөл» мәнін қайтару үшін қажетсіз тексерулерді болдырмайды. Мысалы, "$dateAsString = $booking->getStartDate()?->asDateTimeString()";
қолдау одақ түрлері, екі немесе одан да көп түрлердің жинақтарын анықтау (мысалы, “жалпыға ортақ функция foo(Foo|Bar $input): int|float;”).
қолдау атрибуттар (аннотациялар) Docblock синтаксисін пайдаланбай, метадеректерді (мысалы, түр туралы ақпарат) сыныптарға байланыстыруға мүмкіндік береді.
Экспрессиялық қолдау матч, коммутатордан айырмашылығы, мәндерді қайтара алады, біріктіру шарттарын қолдайды, қатаң түрдегі салыстыруларды қолдана алады және «үзіліс» спецификациясын қажет етпейді.
Әлсіз карта қоқыс жинау кезінде құрбан болуға болатын нысандарды жасау (мысалы, қажетсіз кэштерді сақтау үшін).
Қабілеті нысандар үшін “::class” өрнегін қолдану (get_class() шақыруының аналогы).
Қабілеті айнымалы мәндерге байланбаған ерекшеліктерді ұстау блогындағы анықтамалар.
Қабілеті функция параметрлері тізіміндегі соңғы элементтен кейін үтір қалдыру.
Жаңа интерфейс Жіпті жолға түрлендіруге болатын кез келген жол түрлерін немесе деректерді анықтау үшін (олар үшін __toString() әдісі қолжетімді).
Жаңа мүмкіндік str_contains(), ішкі жолдың пайда болуын анықтауға арналған strpos-тың жеңілдетілген аналогы, сондай-ақ жолдың басы мен соңындағы сәйкестіктерді тексеру үшін str_starts_with() және str_ends_with() функциялары.
Қосымша функция fdiv(), ол нөлге бөлу кезінде қате жібермей бөлу операциясын орындайды.
Өзгертілді жолды біріктіру логикасы. Мысалы, "echo "sum:" өрнегі. $a + $b' бұрын 'echo ("sum: " . $a) + $b' ретінде түсіндірілді, ал PHP 8 тілінде 'echo "sum:" ретінде қарастырылады. ($a + $b)'.
Тартылған арифметикалық және бит амалдарын тексеру, мысалы, "[] % [42]" және "$объект + 4" өрнектері қатеге әкеледі.
Орындалды тұрақты сұрыптау алгоритмі, онда бірдей мәндердің реті әртүрлі жүгірістерде сақталады.