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

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

Вопросы, замечания, предложения: @pronskiy
Download Telegram
Релиз PHP 7.3.0

http://php.net/releases/7_3_0.php

Ура! Вышла в свет новая версия интерпретатора PHP.

Среди заметных изменений:
• Улучшения Heredoc и Nowdoc синтаксиса
• Функции json_encode() и json_decode() будут бросать исключение в случае ошибки и наличия соответствующего флага
• Возможность использовать запятую после последнего аргумента функции
• Новая функция hrtime(), которая возвращает время высокой точности и не зависит от системного времени
• Добавлена функция is_countable() для проверки на перечислимость
• Использование ссылок в list()
• Значительное улучшение сборщика мусора
• Движок регулярных выражений обновлен до PCRE2

Полный список изменений можно найти тут https://github.com/php/php-src/blob/php-7.3.0/UPGRADING
А вот тут ключевые изменения в виде наглядных дифов https://www.tomasvotruba.cz/blog/2018/08/16/whats-new-in-php-73-in-30-seconds-in-diffs/
PHP-Дайджест № 145 (26 ноября – 10 декабря 2018)

PHP 7.3.0, Symfony 4.2, Composer 1.8.0 и другие релизы, конец поддержки PHP 5.6 и PHP 7.0, свежие предложения из PHP Internals, порция полезных инструментов, видеозаписи докладов и многое другое!

https://habr.com/post/432600/
GitLab идет в Serverless

https://about.gitlab.com/2018/12/11/introducing-gitlab-serverless/

GitLab анонсировали serverless платформу, которая будет запущена 22 декабря. Реализована на базе гуглового Knative, то есть Kubernetes и Docker, а значит с поддержкой PHP проблем быть не должно https://github.com/knative/docs/tree/master/serving/samples/helloworld-php
Унарный оператор +

Еще одна фишка PHP, о которой обычно не задумываешься. Унарный плюс можно использовать как оператор приведения типов, при этом строка с целым числом будет преобразована в int, а с вещественным – во float.

https://twitter.com/calebporzio/status/1072938706955161600
Yii умирает?

http://haru-atari.com/ru/blog/29/is-yii-dying

В июле один из core-разработчиков Yii Павел Климов дал в фейсбуке развернутый ответ на вопрос действительно ли фреймворк умирает. По его мнению все-таки да, потому что устарел и не успевает за тенденциями.
С тех пор к команде присоединился Андрей Васильев (hiqsol), опубликован план развития и в целом работа над Yii 3 заметно активизировалась.
Желаю вдохновения и сил команде Yii!
Бизнес-модель Symfony

https://symfony.com/blog/a-business-model-for-symfony

"Symfony нуждается в устойчивой бизнес-модели. ... Для кого-то может быть сюрпризом, но никто не может работать полный день бесплатно много лет. Некоторые опенсорс проекты могут поддерживаться как хобби, например, Twig. Но не Symfony. Сотни тысяч пользователей, куча активностей, множество зависимых проектов." – пишет лидер фреймворка Фабьен в своем посте.

И объявляет о создании независимой одноименной коммерческой компании, которая будет заниматься разработкой и поддержкой фреймворка, а также работать над платными продуктами вокруг него. На данный момент основная прибыль приходит от SymfonyInsight. Планируется развивать Symfony Cloud, и другие инструменты. Сам фреймворк при этом останется открытым и бесплатным.

Очень напоминает Laravel с его Forge, Nova, Envoyer и прочими платными сервисами.
Что нового в PHP 7.3

https://youtu.be/-GBi7tSqGDE

Обо всех значительных изменениях и интересных нюансах за час.
Отличный подробный доклад от автора переводов документации PHP на русский Алексея Пыльцына.
Новые возможности в PHP 7.4

https://stitcher.io/blog/new-in-php-74

Несмотря на опасения по поводу безопасности и стабильности, голосование по FFI прошло успешно и предложение принято. А значит FFI будет добавлен в следующем мажорном релизе. Это даст возможность использовать функции и структуры данных из C-модулей напрямую. В качестве примера можно посмотреть на PHP-биндинг для TensorFlow https://github.com/dstogov/php-tensorflow.

К слову, PHP 7.4 обещает быть весьма интересным, потому что уже сейчас известно, что в нем будут следующие фичи:

– Предзагрузка https://t.me/phpdigest/13
– FFI https://wiki.php.net/rfc/ffi
– Типизированные свойства https://wiki.php.net/rfc/typed_properties_v2
– Оператор присвоения с проверкой на null https://wiki.php.net/rfc/null_coalesce_equal_operator
– Более консистентные типы: разрешается "сужать" тип возвращаемого значения в наследниках, и "расширять" тип параметров https://wiki.php.net/rfc/covariant-returns-and-contravariant-parameters
Никита Попов присоединился к команде PhpStorm

https://blog.jetbrains.com/phpstorm/2019/01/nikita-popov-joins-phpstorm-team/

Никита хорошо известен в сообществе PHP как вкладом в ядро PHP, так и юзерленд библиотеками.
Например, библиотека FastRoute была написана после попыток ребят продвигать роутер в виде расширения. Никита показал, что PHP тут не самое узкое место. Иначе, кто знает, куда это могло зайти: "Однажды PHP-разработчики будут модифицировать ядро Linux для роутинга, вместо того, чтоб решать реалистичные задачи".
И хотя на сегодняшний день уже есть реализации получше, например в Symfony, тем не менее пост Никиты о роутинге и регулярных выражениях очень интересен.

Вы, возможно, слышали про PHP Parser– это буквально он и есть, парсер PHP на PHP. Прежде всего он интересен сам по себе, но еще более интересны инструменты, которые реализованы с помощью него. Например, PHPStan, Psalm, BetterReflection, Infection, SuperClosure, and PHP-DI, и многие другие.

В PHP 5.5 Никита реализовал генераторы. Рекомендую перевод его поста о корутинах в PHP и совместной многозадачности.

В PHP 5.6 реализовал две связанные возможности: variadic functions и argument unpacking. С помощью них можно легко объявлять и использовать функции с переменным числом параметров.

Дальше в PHP 7 Никита ввел AST в качестве внутренней структуры представления. А также он работал непосредственно над самим PHP 7 в виде проекта NG вместе с Дмитрием Стоговым и Xinchen Hui.

PHP стал более консистентным благодаря вкладам Никиты: были введен единый синтаксис переменных и наконец-то нормальные исключения вместо ошибок.

Ну и, конечно же, нельзя не упомянуть типизированные свойства для PHP 7.4, где Никита выступает одним из соавторов.

В JetBrains фокус у Никиты останется тем же – ядро PHP и его экосистема. Желаю ему вдохновения и успехов!
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