PHP 8.4 - чоң тил жаңыртуу

PHP 8.4 - чоң тил жаңыртуу

Жаңы версия көптөгөн жаңы функцияларды камтыйт, мисалы, мүлк илгичтери, асимметриялык касиеттин масштабы, DOM API жаңыртуулары, иштин жакшырышы, мүчүлүштүктөрдү оңдоо жана башка көптөгөн нерселер.

Негизги өзгөрүүлөр

  • Property Hooks дал келбеген DocBlock комментарийлерин жазбастан, IDE жана статикалык талдоо куралдары түшүнө турган эсептелген касиеттерге колдоо көрсөтөт. Алар ошондой эле класста тиешелүү алуучунун же орнотуучунун бар же жок экенин текшербестен, баалуулуктарды алдын ала же процесстен кийинки ишенимдүү иштетүүгө мүмкүндүк берет.
  • Асимметриялык масштаб мулк жазуулары эми менчиктин окуу чөйрөсүнөн көз карандысыз башкарылышы мүмкүн, бул класстан тышкары аны өзгөртө албай туруп, мүлктүн баасын ачыкка чыгаруу үчүн шаблон алуу ыкмаларын колдонуу зарылдыгын азайтат.
  • Жаңы атрибут #[Эскөөдөн чыгарылган] колдонуучу аныктаган функциялар, методдор жана класс константалары үчүн бар болгон объектинин эскирүү механизмин кеңейтет.
  • Жаңы DOM APIHTML5 документтеринин стандарттарга шайкеш талдоосун колдогон, DOM жүрүм-турумундагы көптөн бери келе жаткан бир нече мүчүлүштүктөрдү оңдоп, документтер менен иштөөнү ыңгайлуу кылуу үчүн бир нече функцияларды кошот. DOM API Dom аттар мейкиндигинде жеткиликтүү. Жаңы DOM API колдонгон документтер DomHTMLDocument жана DomXMLDocument класстары аркылуу түзүлүшү мүмкүн.
  • Жаңы объект BcMathNumber ыктыярдуу так сандар менен иштөөдө объектиге багытталган стилди жана стандарттык математикалык операторлорду колдонууга мүмкүндүк берет. Бул объекттер өзгөрүлгүс жана Stringable интерфейсин ишке ашырат, ошондуктан аларды echo $num сыяктуу сап контекстинде колдонсо болот.
  • Функциялар кошулду array_find(), array_find_key(), array_any() жана array_all().
  • Кошулган балдар класстары PDO'ну мурастаган PdoDblib, PdoFirebird, PdoMySql, PdoOdbc, PdoPgsql, PdoSqlite драйверлери.
  • Жаңы инициализацияланган объекттин касиеттерине жана ыкмаларына эми жаңы туюнтманы кашаага оробой эле кирүүгө болот. Мисал: жаңы MyClass()->method() кашаасыз.
  • Жаңы класстар, интерфейстер жана функциялар жана башкалар...

Source: linux.org.ru

Комментарий кошуу