PHP Digest
8.53K subscribers
60 photos
3 videos
287 links
PHP Дайджест

Новости, материалы и инструменты из мира PHP — раз в месяц.

Вопросы, замечания, предложения: @pronskiy
Download Telegram
PHP-Дайджест № 193

Парад релизов: обновление языка — PHP 8.0, а также Xdebug 3, DBAL 3.0, Bref 1.0, Symfony 5.2, Flysystem 2.0. Первый принятый RFC для PHP 8.1, долгосрочная поддержка PHPUnit, порция инструментов, подкасты, стримы, статьи.

https://habr.com/ru/post/530562/
Релиз PhpStorm 2020.3

Из наиболее заметного в этом мажорном обновлении:

▪️ Поддержка PHP 8
▪️ Кастомные атрибуты PHP 8
▪️ PHPStan и Psalm
▪️ Xdebug 3
▪️ Tailwind CSS
▪️ Совместная разработка

Подробный разбор этих и всех других новых фич на русском:

https://habr.com/ru/company/JetBrains/blog/531828/
PHP-Дайджест № 194

Enum в PHP 8.1, удаление Serializable и ограничение $GLOBALS, а также другие новости из PHP Internals, PhpStorm 2020.3, JetBrains Qodana, Symfony UX, порция полезных инструментов, видео, и первый PHP Дайджест Стрим.

https://habr.com/ru/post/532950/
Fibers — асинхронному PHP быть?

https://wiki.php.net/rfc/fibers

Мейнтенер Amphp опубликовал RFC по файберам и обновленное расширение с реализацией amphp/ext-fiber.

Проблема асинхронного кода в текущем виде с ReactPHP и Amp в том, что весь код должен быть асинхронным: либо нужно прокидывать yield либо Promise по всей цепочке вызовов.

Файберы решают эту проблему. Это как генераторы, то есть можно прерывать выполнение функций, но файберы не загрязняют стек вызовов и не надо добавлять yield на каждом уровне.

Можно представить файбер как функцию, которая сама хранит в себе стек вызовов и которую можно остановить или продолжить в любой момент.

Предлагается добавить класс Fiber и интерфейс FiberScheduler. Последний это, по сути, ивент луп. Его реализация в PHP 8.1 не предлагается и остается в планах на будущее.

То есть глобально это пока не меняет картину асинхронного PHP: стандартная библиотека все равно блокирующая.

Зато появится официальный стандарт ивент лупа, а разработчики пакетов типа ReactPHP и Amp смогут писать асинхронные обертки проще и быстрее. И использовать их будет приятнее. В общем, хороший первый шаг в направлении.

Примеры тут: https://github.com/amphp/ext-fiber/tree/master/examples

Вероятность принятия: высокая.

______
Спасибо
https://github.com/mmasiukevich за ревью текста.
Стрим: Трейты в PHP — зло? Валентин Удальцов против всех

https://www.youtube.com/watch?v=DEk56xbMITo

В эту среду наконец-то проясним, что не так с трейтами и можно ли использовать их правильно. Валентин ярый противник трейтов, и ему будут противостоять Кирилл Несмеянов, Сергей Жук, Иван Лещёв и Александр Дубовской.

Подробнее: https://habr.com/ru/company/skyeng/blog/534152/
PHP Digest
Стрим: Трейты в PHP — зло? Валентин Удальцов против всех https://www.youtube.com/watch?v=DEk56xbMITo В эту среду наконец-то проясним, что не так с трейтами и можно ли использовать их правильно. Валентин ярый противник трейтов, и ему будут противостоять Кирилл…
Интересный факт из RFC трейтов

Трейты появились в PHP 5.4 в 2012 году. В то время в качестве альтернативы рассматривались "графты" (от англ. grafting — прививка деревьев).

https://wiki.php.net/rfc/horizontalreuse

В отличие от трейтов, графты — это полноценные классы. То есть можно было бы взять один класс и полностью внедрить в другой, при этом сохранив инкапсуляцию. Такая вот композиция на уровне языка могла быть.
This media is not supported in your browser
VIEW IN TELEGRAM
PHP-Дайджест № 195

Fibers для асинхронного PHP, первые нативные атрибуты, короткий match и другие RFC предложения для PHP 8.1, инструменты, много видео, статьи, подкасты, cтрим PHP Дайджест Live.

https://habr.com/ru/post/535308/
Итоги 2020 в PHP сообществе

Вместо подведения итогов в дайджесте, в этом году решили сделать опрос, чтобы вспомнить, что интересного было:
https://skyeng-school.typeform.com/to/iNfIjQbr

Выбираем фреймворк года, персону года, чат года и многое другое года. Результаты будут на Хабре и на phpcommunity.ru.

Картинка: https://vas3k.ru/blog/2020/
PHP Дайджест № 196

PHP 8.0.1, MySQL движок на PHP от Vimeo и другие релизы, обновленный Enum и свежие предложения для PHP 8.1, «уязвимость» в Laminas, инструменты, статьи, видео, PHP Дайджест Live в 20:00 МСК.

https://habr.com/ru/post/536726/
Forwarded from Пых (Валентин Удальцов)
🤹

Решили с Ромой запустить юморной канал про PHP. Посмотрим, что из этого получится. Подписывайтесь, присылайте мемы и шутки 🤗

@isPHPdying
PHP Дайджест № 197

Объекты в качестве ключей массивов и другие RFC предложения для PHP 8.1, запуск WebAssembly в PHP, о коллизиях в массивах, об обновлении на PHP 8.0, порция полезных инструментов, статьи, видео, PHP Дайджест Live в 20:00 МСК.

https://habr.com/ru/post/539034/
Голосование по енамам в PHP

https://wiki.php.net/rfc/enumerations#voting

Подробнее про предложение можно прочитать в дайджесте № 194. А пока давайте проведем свое альтернативное голосование.
Поддерживаете ли добавление енамов в PHP 8.1 в текущем виде?
Anonymous Poll
83%
Да
17%
Нет
PHP Дайджест № 198

Обновление стандартов PSR-6 и PSR-13, кеширование наследования в опкеш, аксессоры свойств и другие новости из PHP Internals, диалект Lisp компилируемый в PHP, а также инструменты, видео, подкасты и PHP Дайджест Live.

https://habr.com/ru/post/541300/