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

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

Вопросы, замечания, предложения: @pronskiy
Download Telegram
Media is too big
VIEW IN TELEGRAM
📺 Стрим про PHP 8: что нового, туда ли двигается, что будет дальше

В четверг релиз восьмерки, а в среду вечером будет стрим со звездным составом.

• Валентин «Пых» Удальцов расскажет и покажет, как использовать новые фичи языка.
• Альберт «Мне не нравится, во что превращается PHP» Степанцев поспорит с Валентином о том, туда ли развивается язык.

• А в конце будет сессия вопросов и ответов. Вот здесь к нам присоединятся топ 2 разработчика PHP — Никита Попов и Дмитрий Стогов!


🗓 Среда, 19:00 МСК / 18:00 Киев

Трансляция: https://www.youtube.com/watch?v=QSszmWIrRyw
PHP Digest
📺 Стрим про PHP 8: что нового, туда ли двигается, что будет дальше В четверг релиз восьмерки, а в среду вечером будет стрим со звездным составом. • Валентин «Пых» Удальцов расскажет и покажет, как использовать новые фичи языка. • Альберт «Мне не нравится…
Вчера на стриме Дмитрий и Никита ответили на много вопросов и обсудили интересные темы:

– Будет ли Enum в PHP
– Чем плохи проверки типов в рантайме
– Перспективы компилируемого PHP (Дмитрий: «Если WordPress переписать на С, то он будет медленнее, чем на PHP»)
– Будет ли асинхронность в PHP
– Чего не хватает PHP и какие есть перспективные направления в развитии
– Какие языки вдохновляют (Никита: «Я все языки не люблю»)

И еще много других тем. Ссылка с таймкодом на блок с Никитой и Дмитрием https://youtu.be/QSszmWIrRyw?t=5246

Ребятам было пора бежать, а ещё куча вопросов осталась в беклоге. На некоторые из них уже были ответы, например, по дженерикам. А на остальные соберем ответы в офлайн-режиме и опубликуем отдельным постом.
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
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/