METANIT.COM
6.24K subscribers
1.79K photos
86 videos
10 files
1.26K links
Канал о программировании и разработке сайта metanit.com
Download Telegram
21 ноября 2024 года состоялся релиз языка программирования PHP 8.4, включая сборки для ОС Windows. В ветку добавлены обновления, а также серия изменений, которые нарушают совместимость с предыдущими версиями.
Основные изменения в новой версии:
- предложена новая реализация JIT-компилятора, построенная на базе IR Framework.
- добавлены хуки свойств: cвойства объектов теперь могут иметь дополнительную логику, связанную с их операциями get и set.
- свойства объекта теперь могут управлять своей видимостью отдельно от видимости блока get.
- добавлена ленивая инициализация - теперь можно создавать объекты, инициализация которых откладывается до тех пор, пока к ним не будет получен доступ. Библиотеки и фреймворки могут использовать эти ленивые объекты для отсрочки извлечения данных или зависимостей, необходимых для инициализации.
- добавлен атрибут Deprecated для отметки функционала как устаревшего
- выражения new для вызова конструктора теперь являются разыменовываемыми, то есть они позволяют объединять в цепочки вызовы, доступы к свойствам и т. д. без заключения выражения в скобки.
- добавлено пространство имен Dom с новыми классами в качестве аналогов существующих классов DOM (например, Dom\Node — это новый DOMNode). Эти классы совместимы с HTML 5 и соответствуют спецификации WHATWG; решая давние ошибки в расширении DOM. Старые классы DOM остаются доступными для обратной совместимости.
Подробнее все нововведения https://www.php.net/manual/en/migration84.new-features.php
#php
🤯31👍1
PHP за 2 минуты #php
К слову о "смерти" PHP - по некоторой статистике PHP используют более 74% веб-сайтов #php
🤣56👍7🤮7🤡2
Прозвучит наверное как оксюморон, но PHP развивается.

В новой версии PHP (PHP 8.5), которая выйдет в ноябре, будет добавлен pipe-оператор |>. Этот оператор имеется в ряде функциональных языков программирования, в частности, в F#, и позволяет передать левый операнд в качестве аргумента в функцию в правом операнде.

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

Кроме того, в новой версии будут добавлены Generics для интерфейсов и абстрактных классов.
https://thephp.foundation/blog/2025/07/11/php-85-adds-pipe-operator/
https://www.theregister.com/2025/08/08/after_30_years_php_still/
#php
👍17🤣159🔥5💩3🤯2🙏2🤔1
Консольный тетрис на PHP
Под впечатлением от фильма "Тетрис", энтузиаст решил написать эту игру на РНР, чтобы попрактиковаться в работе с терминалом.
Исходник - https://gist.github.com/al3rez/e43f4bc86e50a79fca14529d4f2f2b8c
#php
👍8😁5😨2🔥1👏1
* Читаемость кода: новый pipe-оператор и helper-функции (array_first, array_last) делают код более декларативным и понятным.
* Безопасность и устойчивость: #[\NoDiscard] помогает избежать ошибок, когда результаты функции игнорируются.
* Производительность / ресурсы: возможность переиспользовать cURL share-дескрипторы экономит расходы на подключение.
* Отладка: трассировки фатальных ошибок + инструменты для работы с обработчиками ошибок/исключений улучшают дебаг.
* Локализация: новые инструменты i18n помогают создавать приложения, дружелюбные к разным локалям.
* Кодовая база и архитектура: “clone with” и final-промоция свойств способствуют более чистым паттернам “immutable-объектов”.

https://www.php.net/releases/8.5/ru.php

#php
9👍3👏3🥴3