Языки программирования

PHP 8.4 добавляет крючки свойств

PHP 8.4 добавляет крючки свойств

Доступна версия PHP 8.4 с улучшениями, включая крючки свойств, асимметричную видимость и обновленный DOM API.

PHP начинал свою жизнь как простой скриптовый язык, предназначенный для создания веб-страниц, но превратился в общий веб-язык для работы на стороне сервера. Сейчас он используется для восьми из десяти веб-сайтов, использующих код на стороне сервера.

В некоторых других языках крючки свойств также известны как аксессоры свойств и предоставляют возможность перехватывать и переопределять поведение свойств при чтении и записи. Добавление поддержки крючков свойств в PHP означает, что свойства объектов теперь могут иметь дополнительную логику, связанную с их операциями get и set. В зависимости от использования, это может сделать или не сделать свойство виртуальным, без опорного значения.

Следующее улучшение заключается в том, что свойства объектов могут также иметь асимметричную видимость, с разной областью видимости для чтения ( get ) и записи ( set ). В частности, видимость набора может быть указана отдельно, если она не более разрешительна, чем видимость по умолчанию. На синтаксис оказал сильное влияние Swift.

В этом выпуске также добавлена поддержка «ленивых» объектов - объектов, инициализация которых откладывается до момента обращения к ним. Библиотеки и фреймворки могут использовать ленивые объекты, чтобы отложить получение данных или зависимостей, необходимых для инициализации.

И последнее дополнение - новый атрибут Deprecated, который можно использовать для пометки функций, методов и констант класса как устаревших. Поведение функциональности, устаревшей с помощью этого атрибута, соответствует поведению существующего механизма устаревания функциональности, предоставляемого самим PHP.

В этот выпуск включены два новых API. Новый DOM API включает в себя поддержку разбора HTML5-документов в соответствии со стандартами, исправляет несколько давних ошибок в поведении функциональности DOM и добавляет несколько функций, делающих работу с документами более удобной. Также был добавлен новый объектный API для BCMath. Это позволяет использовать объектно-ориентированное использование и стандартные математические операторы при работе с числами произвольной точности.

PHP 8.4 доступен для загрузки уже сейчас.

Читайте также