en
Feedback
PHP Digest

PHP Digest

Open in Telegram

PHP Дайджест Новости, материалы и инструменты из мира PHP — раз в месяц. Вопросы, замечания, предложения: @pronskiy

Show more
8 309
Subscribers
No data24 hours
-117 days
+530 days
Posts Archive
Видео PHP Дайджест Live #4 https://www.youtube.com/watch?v=3xhOWG8RzEY

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

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

Стрим PHP Дайджест Live закончился, доступна запись Обзор последних новостей из мира PHP, специальный гость и новый конкурс со слониками. https://www.youtube.com/watch?v=DEV3K_Tf5Do

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

Итоги 2020 в PHP сообществе Вместо подведения итогов в дайджесте, в этом году решили сделать опрос, чтобы вспомнить, что инте
Итоги 2020 в PHP сообществе Вместо подведения итогов в дайджесте, в этом году решили сделать опрос, чтобы вспомнить, что интересного было: https://skyeng-school.typeform.com/to/iNfIjQbr Выбираем фреймворк года, персону года, чат года и многое другое года. Результаты будут на Хабре и на phpcommunity.ru. Картинка: https://vas3k.ru/blog/2020/

PHP Дайджест Стрим закончен. Запись доступна по ссылке, и комментарии открыты для участия в конкурсе. https://www.youtube.com/watch?v=mvjj_YX_BqQ

PHP-Дайджест № 195 Fibers для асинхронного PHP, первые нативные атрибуты, короткий match и другие RFC предложения для PHP 8.1, инструменты, много видео, статьи, подкасты, cтрим PHP Дайджест Live. https://habr.com/ru/post/535308/

Стрим закончился. Запись доступна по ссылке https://youtu.be/xoEPNiMtVps?t=250

Стрим про трейты закончился. Запись доступна по ссылке: https://youtu.be/xoEPNiMtVps?t=250

Интересный факт из RFC трейтов Трейты появились в PHP 5.4 в 2012 году. В то время в качестве альтернативы рассматривались "графты" (от англ. grafting — прививка деревьев). https://wiki.php.net/rfc/horizontalreuse В отличие от трейтов, графты — это полноценные классы. То есть можно было бы взять один класс и полностью внедрить в другой, при этом сохранив инкапсуляцию. Такая вот композиция на уровне языка могла быть.

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

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 Дайджест Стрим Upd: Cтрим закончился, со ссылкой вышел косяк, зато запись доступна вот тут https://www.youtube.com/watch?v=i9iC58z0yHE

PHP-Дайджест № 194 Enum в PHP 8.1, удаление Serializable и ограничение $GLOBALS, а также другие новости из PHP Internals, PhpStorm 2020.3, JetBrains Qodana, Symfony UX, порция полезных инструментов, видео, и первый PHP Дайджест Стрим. https://habr.com/ru/post/532950/

Релиз PhpStorm 2020.3 Из наиболее заметного в этом мажорном обновлении: ▪️ Поддержка PHP 8 ▪️ Кастомные атрибуты PHP 8 ▪️ PHPStan и Psalm ▪️ Xdebug 3 ▪️ Tailwind CSS ▪️ Совместная разработка Подробный разбор этих и всех других новых фич на русском: https://habr.com/ru/company/JetBrains/blog/531828/

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/

PHP 8.0 релизнут! https://www.php.net/releases/8.0/ru.php?lang=ru Основные изменения: • Именованные аргументы • Атрибуты • Объединенные типы • Объявление свойств в конструкторе • Выражение match • Оператор nullsafe • Улучшенное сравнение строк и чисел • Ошибки согласованности типов для встроенных функций • JIT В релизе еще много других фич, а также улучшений синтаксиса, консистентности и обработки ошибок. Подробно: php.watch/versions/8.0 Видео на русском: обзор Валентина Удальцова Полный список изменений: php-8.0.0/UPGRADING

Вчера на стриме Дмитрий и Никита ответили на много вопросов и обсудили интересные темы: – Будет ли Enum в PHP – Чем плохи проверки типов в рантайме – Перспективы компилируемого PHP (Дмитрий: «Если WordPress переписать на С, то он будет медленнее, чем на PHP») – Будет ли асинхронность в PHP – Чего не хватает PHP и какие есть перспективные направления в развитии – Какие языки вдохновляют (Никита: «Я все языки не люблю») И еще много других тем. Ссылка с таймкодом на блок с Никитой и Дмитрием https://youtu.be/QSszmWIrRyw?t=5246 Ребятам было пора бежать, а ещё куча вопросов осталась в беклоге. На некоторые из них уже были ответы, например, по дженерикам. А на остальные соберем ответы в офлайн-режиме и опубликуем отдельным постом.