киргизилген PHP 8 программалоо тилинин жаңы бутагынын биринчи бета версиясы 26-ноябрга пландаштырылган. Ошол эле учурда, PHP 7.4.9, 7.3.21 жана түзөтүүчү релиздери
7.2.33, бул топтолгон каталарды жана кемчиликтерди жок кылды.
колдоо аталган функциянын аргументтери, аттарга карата функцияга маанилерди өткөрүүгө мүмкүндүк берет, б.а. Сиз аргументтерди каалаган тартипте өткөрүп, кошумча аргументтерди аныктай аласыз. Мисалы, "array_fill(старт_индекс: 0, сан: 100, маани: 50)".
Методдорду чакырганда жол "?" операторун колдонуу, бул ыкма бар болсо гана чалууну баштоого мүмкүндүк берет, бул "нөл" маанисин кайтаруу үчүн ашыкча текшерүүлөрдү болтурбайт. Мисалы, "$dateAsString = $booking->getStartDate()?->asDateTimeString()";
колдоо союз түрлөрү, эки же андан көп түрдөгү коллекцияларды аныктоо (мисалы, “коомдук функция foo(Foo|Bar $input): int|float;”).
колдоо атрибуттар (аннотациялар) Docblock синтаксисин колдонбостон, метадайындарды (мисалы, типтеги маалымат) класстарга байланыштырууга мүмкүндүк берет.
Экспресс колдоо мелдеш, которуштуруудан айырмаланып, баалуулуктарды кайтара алат, айкалыштыруу шарттарын колдойт, катуу типтеги салыштырууларды колдоно алат жана "тыныгуу" спецификациясын талап кылбайт.
WeakMap таштанды чогултуу учурунда курмандыкка чалына турган объекттерди түзүү (мисалы, керексиз кэштерди сактоо үчүн).
мүмкүнчүлүк объекттер үчүн “::класс” туюнтмасын колдонуу (get_class() чалууга окшош).
мүмкүнчүлүк өзгөрмөлөргө байланбаган өзгөчөлүктөрдү кармоо блогундагы аныктамалар.
мүмкүнчүлүк функциянын параметрлеринин тизмесиндеги акыркы элементтен кийин үтүр калтыруу.
Жаңы интерфейс Stringable сапка айландырыла турган ар кандай сап түрлөрүн же берилиштерди аныктоо үчүн (бул үчүн __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]" жана "$object + 4" туюнтмалары катага алып келет.
Аткарылган туруктуу сорттоо алгоритми, мында бирдей маанилердин тартиби ар кандай жүрүүлөрдө сакталат.