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

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

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

https://habr.com/post/435956/

Если еще не успели, посмотрите свежий дайджест. В выпуске: обновления всех веток PHP, Deployer 6.4, doctrine/migrations 2.0, Psalm 3 и другие релизы, Никита Попов в JetBrains, новости PHP Internals, порция полезных инструментов, видео, и многое другое!
https://5minphp.ru/episode46/

Короткую аудиоверсию дайджеста уже по хорошей традиции можно послушать в подкасте Пятиминутка PHP, за что спасибо Петру Мязину https://twitter.com/5minphp. Первая половина подкаста посвящена новости о Никите, так что если читали заметку https://t.me/phpdigest/36, то смело проматывайте 2 минуты.

А тем временем лидер Laravel Тейлор запустил свой подкаст формата пятиминутки о новостях фреймворка:
https://blog.laravel.com/laravel-snippet-1
Типизированные переменные

С помощью класса и ссылки на свойство в PHP 7.4 можно имитировать типизированные переменные.

На основе этой идеи уже даже реализовали библиотеку https://github.com/azjezz/typed
Проблема курицы и яйца решена с помощью PHP!

https://twitter.com/EvanDotPro/status/1086319484439150592
PhpStorm 2019.1 EAP

https://blog.jetbrains.com/phpstorm/2019/01/phpstorm-2019-1-early-access-program-is-open/

Стартовала программа раннего доступа первого мажорного обновления PhpStorm в этом году.
В релизе планируется масса вкусностей! Из того, что можно пощупать уже сейчас:
– Отладка шаблонов Twig
– Новый режим Focus, в котором подсвечивается только текущий метод/функция 🔥
– Возможность сортировки импортов (use выражений)
– Поддержка phpcbf для исправления ошибок стиля
Конференции по PHP

Многие ругают PHP за токсичное сообщество. Иногда с этим трудно не согласиться, особенно читая комментарии к постам типа "PHP умер / умирает / создан, чтобы умирать". Зато на PHP-конференциях всегда отличная атмосфера и собираются крутые люди, c которыми интересно обсудить проблемы и услышать об опыте. В этом году очень хочу попасть на Dutch PHP Conf, Laracon и SymfonyCon. И конечно, не пропущу локальные харьковские ThinkPHP и Kharkiv.js.

Киев, 1 июня, PHP fwdays’19
https://fwdays.com/en/event/php-fwdays-2019
А вот отдельно хочу написать про PHP fwdays! Езжу на эту конференцию вот уже 5 лет. И в этом году обязательно поеду снова! Программа еще не объявлена, и это отличная возможность купить билеты по лучшей цене. Сомнений нет, будут толковые докладчики и интересный народ, ну и по традиции, душевная афтерпати.
Для читателей дайджеста есть промокод со скидкой 15%: PHP-digest-fwdays


Но это еще не все!

17 мая в Москве пройдет первая конференция PHP Russia

И это особенное мероприятие по нескольким причинам. Во-первых, специализированной PHP-конференции в России не было уже давно. Во-вторых, в программном комитете собралась классная команда https://rmcreative.ru/blog/post/php-russia-2019--nachalo 😉. И в-третьих, конференция пройдет при поддержке Олега Бунина, а это опыт РИТ++, HighLoad++ и множества других мероприятий.

Скоро будет больше информации, а пока следите за новостями в канале: @PHPRussiaConfChannel
И принимайте участие в обсуждениях в официальном чате конференции: @PHPRussiaConfTalks
PHP-Дайджест № 148

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

Взломан репозиторий PEAR, о будущем Xdebug, конференция PHP Russia 2019, свежие релизы, RFC предложения из PHP Internals, порция полезных инструментов, и многое другое!
JIT в PHP!

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

Попытки реализовать JIT были предприняты еще во времена PHP 6. И вот наконец-то усилиями Дмитрия Стогова эта возможность стала реальностью! Причем предлагается включить ее уже в PHP 7.4, но отключенной по умолчанию. Это отличная идея, так как даст возможность пощупать на реальных приложениях раньше. PHP JIT реализован как независимая часть OPcache, и может быть включен/выключен даже в рантайме.
PHP-Дайджест № 149
(28 января – 11 февраля 2019)

PHPUnit 8 и другие релизы, PSR-14 и PSR-12 в стадии ревью, JIT для PHP, стартовала работа над PHP 8, пачка свежих RFC из PHP Internals, порция полезных инструментов, и многое другое!

https://habr.com/post/439780/
self и parent в качестве тайпхинтов

Еще одна старая фишка PHP, о которой вы могли не знать. В качестве typehint можно использовать как self так и parent.

https://madewithlove.be/self-and-parent-type-hints/
https://githistory.xyz/

Забавный инструмент для просмотра истории любого файла на GitHub.
Открываем файл, заменяем домен в строке браузера на github.githistory.xyz и дальше, листая стрелками влево/вправо, можно смотреть как менялся файл.
Хотите узнать, почему некоторые RFC так и остаются непринятыми и без реализации в PHP?
Например, дженерики, короткие лямбды, перегрузка методов, аннотации и т.д.
По ссылке отличный обзор этих и других предложений с объяснением трудностей и прогнозом дальнейшей судьбы.

https://github.com/danack/RfcCodex
В последнее время PHP становится лучше с каждым принятым RFC, ну а PHP 7.4 и 8 так вообще выглядят весьма многообещающе. Хотите узнать, как все начиналось в 1995?
Тогда вот Docker-образ с PHP 1 https://github.com/jaem3l/php1-docker-image
В PhpStorm 2019.1 EAP есть одна интересная экспериментальная фича. С помощью файла .phpstorm.meta.php можно подсказывать IDE, какие аргументы ожидаются в функции или какие значения она может возвращать.
Например, функция ожидает в качестве аргумента какую-то константу. Формально тип этой константы, допустим integer, но в действительности набор возможных констант нам известен. Например, json_encode($data, /* вот тут битовая маска из констант JSON_* */)
Но еще у нас может быть функция, которая возвращает константу, как например json_last_error().
В PhpStorm 2019.1 EAP автодополнение для этих случаев уже работает. Но более того, такое автодополнение можно сделать у себя в любом проекте/библиотеке/фреймворке просто добавив специальный файл .phpstorm.meta.php в репозиторий. И таких файлов может быть сколько угодно, PhpStorm сам найдет и смержит их.

https://blog.jetbrains.com/phpstorm/2019/02/new-phpstorm-meta-php-features/
И в качестве примера автодополнение для symfony/console:
PHP-Дайджест № 150
(11 – 25 февраля 2019)

Изменены правила голосования за RFC в PHP Internals, стартовал прием заявок на доклады для PHP Russia 2019, новое расширение для реализации параллельного исполнения кода, свежие материалы для обучения, видео, порция полезных инструментов, и многое другое!

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