PHP Digest
Відкрити в Telegram
PHP Дайджест Новости, материалы и инструменты из мира PHP — раз в месяц. Вопросы, замечания, предложения: @pronskiy
Показати більше8 308
Підписники
-1224 години
-127 днів
+830 день
Архів дописів
8 309
PHP Дайджест № 209 (1 – 16 августа 2021)
Вторая бета PHP 8.1 и много материалов об этой версии, два свежих RFC для PHP 8.2, ReactPHP и Amphp объединяют усилия над базой для асинхронного PHP. А также другие новости и релизы, порция полезных инструментов, статьи и видео.
https://habr.com/ru/post/573184/
8 309
Вышел PhpStorm 2021.2
В этом релизе сильно продвинулись с поддержкой дженериков и начали выкатывать поддержку PHP 8.1. Также исправили все проблемы с форматированием и улучшили рефакторинг Extract method.
Возможно вы уже успели обновиться, но если еще нет, то вот подробный разбор всех изменений и новых фич.
https://habr.com/ru/company/JetBrains/blog/571962/
8 309
PHP Дайджест № 208 (12 – 26 июля 2021)
Первая бета PHP 8.1 — будут readonly-свойства, first-class callable, и new в инициализаторах кроме свойств и констант класса. Nikolas Grekas предложил сделать пересечения типов nullable. А также другие новости, порция полезных инструментов, статьи и видео.
https://habr.com/ru/post/569626/
8 309
В PHP 8.1 можно будет получить ссылку на любую функцию
https://wiki.php.net/rfc/first_class_callable_syntax
Последнее из улучшений синтаксиса в PHP 8.1 принято единогласно.
Было так:
$fn = Closure::fromCallable('strlen');
Или так:
$fn = fn(...$args) => strlen(...$args);Стало:
$fn = strlen(...);Новый синтаксис можно будет применять везде, где ожидается
callable. Он лаконичнее и доступен для статического анализа.8 309
В PHP 8.1 будут readonly свойства
https://wiki.php.net/rfc/readonly_properties_v2
Такие свойства нельзя изменить после инициализации.
Инициализировать можно только в том же скоупе, то есть в объявлении или в методе класса (можно обойти через Reflection или старый трюк с Closure::bind).
Свойства с флагом
readonly должны быть типизированные, но можно использовать тип mixed.
Если readonly свойство инициализировано объектом, то иммутабельным он не становится. То есть его внутреннее состояние все еще можно изменить.8 309
В PHP 8.1 будет оператор new в инициализаторах
https://wiki.php.net/rfc/new_in_initializers
Объекты можно будет использовать в качестве дефолтных значений параметров, статических переменных, глобальных констант и в аргументах атрибутов.
А вот со свойствами — нет. Вернее, можно будет использовать через constructor property promotion. Но это в действительности аргументы параметров, а не дефолтные значения свойств. Смотрите сами: 3v4l.org/r9iv4
C константами классов тоже нельзя будет использовать из-за проблем с порядком выполнения инициализации.
Зато этот RFC фактически добавляет поддержку вложенных атрибутов.
8 309
PHP Дайджест № 207 (29 июня – 12 июля 2021)
• Третья альфа PHP 8.1 — список новых возможностей и статус последних предложений;
• readonly-свойства — Nikolas Grekas и другие голосуют против из-за проблем с клонированием;
• автор Psalm-покинул проект и PHP — работу подхватили другие мейнтейнеры;
• в ReactPHP добавили дефолтный ивент-луп;
• Laravel 9 выйдет в январе и будет требовать PHP 8.0.
А также другие новости, порция полезных инструментов, статьи и видео.
https://habr.com/ru/post/567228/
8 309
PHP Дайджест № 205 (1 – 15 июня 2021)
Первая альфа PHP 8.1.0, Composer 2.1, Symfony 5.3 и другие релизы. Обзор новых предложений для PHP 8.1: Partial Function Application, pipe оператор, readonly свойства. А также порция полезных инструментов, статьи, видео и подкасты.
https://habr.com/ru/post/562718/
8 309
PHP Дайджест Стрим
Внезапный стрим на канале PHP Point провел Валентин Удальцов!
https://www.youtube.com/watch?v=DYNbjSTjwPk
8 309
PHP Дайджест № 204 (17 – 31 мая 2021)
В эти две недели core команда PHP активно обсуждала предложение по Partial function Application и в качестве альтернативы Никита Попов предложил более простой синтаксис для получения ссылки на любые функции. Также в уже принятые в PHP 8.1 енумы предлагается добавить статические свойства.
Symfony 6 будет требовать PHP 8.0, а вышедшая Doctrine 2.9 поддерживает указание метаданных в атрибутах вместо PHPDoc.
Еще в выпуске классная статья про регекспы и инструкция по использованию Deployer, а также другие полезные статьи, пачка инструментов, немного видео и подкастов.
https://habr.com/ru/post/560158/
8 309
PHP Дайджест № 203 (1 – 17 мая 2021)
Аксессоры свойств, пересечения типов и финальные константы официально предложены для PHP 8.1, и еще два RFC уже приняты. Также в выпуске порция инструментов, видео, подкасты, статьи, новости сообщества.
https://habr.com/ru/post/557828/
8 309
Видео PHP-митапа из Казани
https://www.youtube.com/watch?v=8Cfz_39fbfU
Трансляция закончилась, вот ссылки на доклады с таймкодами:
04:12 Превращаем PHP-скрипты в статические бинарники — Искандер Шарипов, ВКонтакте
58:59 Как писать тесты, чтобы больше радоваться — Иван Филатов, Skyeng
2:35:51 ООП и трейты, чтоб их — Адель Файзрахманов, Laravel Idea
3:34:35 Внедряем DevOps без Docker и Kubernetes — Сергей Шамбир, iSpring
4:30:04 Как микросервисы на Go рождаются из PHP-монолита — Егор Пересада, FindMyKids
8 309
PHP Дайджест № 202 (1 – 30 апреля 2021)
В PHP 8. будет новый тип
never, на обсуждении частичные функции, PHP доступен на Google Cloud Functions, о взломе git.php.net, Laravel Octane, инструменты, видео, подкасты, статьи.
https://habr.com/ru/post/555242/8 309
Видеозапись митапа PHP NN #4
В программе два доклада:
• 06:10 Денис Юрьев — Метания ядра или как переделать Symfony-проект в целое направление
• 1:05:10 Валентин Удальцов — Как структурировать код, чтобы не получить большой ком грязи
https://www.youtube.com/watch?v=SycSx0Qp3eg
8 309
[RFC] Новый тип – noreturn
Стартовало голосование по предложению от авторов Psalm и PHPStan — добавить новый тип в PHP:
noreturn / never.
Это пустой нижний (bottom) тип и является подтипом всех других типов. Подобный есть в Python, Rust, Kotlin, TypeScript.
Такой тип указывает на то, что функция либо всегда бросает исключение либо завершает выполнение, то есть вызывает exit(), die(), trigger_error().
На голосование также вынесен вопрос как назвать тип: noreturn (как в Python) или never (TypeScript, Rust).
https://wiki.php.net/rfc/noreturn_type8 309
💥 Всем привет! Сегодня у нас спецвыпуск.💥
💥 Новости действительно сенсационные! 💥
Бэкдор в PHP оказался Никитой Поповым
Не дождавшись принятия RFC https://wiki.php.net/rfc/nikita_popov, Никита сам смержил себя в ядро. Никто не заметил разницы.
В PHP 8.2 будут дженерики
Хоть RFC и находится на ранней стадии рассмотрения, но доподлинно известно, что для темплейт-аргументов будет использоваться специальный синтаксис с тегами
/* и */.
Зеев Зуравски решил воскресить P++
Собрана новая команда и делается форк PHP. Кроме разработчиков нужен дизайнер, который придумает нового маскота вместо слоника.
Symfony откажется от DI контейнера и переходит на Service Locator
Потому что пробрасывать зависимости между слоями слишком сложно и надо переманить к себе пользователей Yii и Laravel.
Laravel объявил о сотрудничестве с Brazzers
Лысые пожали руки. Новая компания будет называться Brazzavel. Логотип появится во всех работах студии и будет фигурировать на всех сайтах, сделанных с помощью фреймворка.
PhpStorm будет писать 100% кода за вас
Для этого надо будет только дождаться пока все проиндексируется и выучить горячие клавиши.
PHP Russia перенесли на 2030 год, а заодно сменили локацию
Конференция пройдёт в Шанхае. Выступят представители Tencent и Alibaba. Всем настоятельно рекомендуется выучить китайский. Время ещё есть.
Вышла новая версия Битрикс с поддержкой PHP 4.3
Это позволит запускать его на предприятиях, где политика безопасности запрещает обновлять PHP. Ура обратной совместимости!
Yii3 решили переписать на Golang
Разработка секретно велась параллельно с версией на PHP. Ведёт проект Qiang Xue, изначальный автор Yii. Проект носит кодовое имя Ozzo. Уже готовы роутиниг, DI, слой для доступа к базам данных и валидатор.
// Disclaimer: в этот раз Роман Пронский решил отдохнуть и поручил написание новостей GPT-3 и членам ПК PHP Russia.
Вже доступно! Дослідження Telegram за 2025 — головні інсайти року 
