- PVSM.RU - https://www.pvsm.ru -

PHP-Дайджест № 163 (12 – 26 августа 2019)

PHP-Дайджест № 163 (12 – 26 августа 2019) - 1

Свежая подборка со ссылками на новости и материалы. В выпуске: PHP 7.4.0 beta 4, о судьбе P++, видео, подкасты, анонсы митапов и конференций, порция полезных инструментов, и многое другое.

Приятного чтения!

PHP-Дайджест № 163 (12 – 26 августа 2019) - 2 Новости и релизы

PHP-Дайджест № 163 (12 – 26 августа 2019) - 5 PHP Internals

  • Straw poll for P++ feasibility [7] — Больше двух недель назад Зеев Сураски вынес на обсуждение провокационную идею [8] создать новый язык на базе PHP под кодовым названием P++. В ответ было множество споров в Internals и не только, отличный обзор истории PHP [9] и нюансов, а также пост о том, почему P++ плохая идея [10] с нетехнической точки зрения.
    Кто-то даже предложил сделать P-- [11] – упрощённый PHP времён PHP 5.0, ну или P=== [12] – просто оставить как есть.
    К счастью, пока всё не зашло слишком далеко, Derick Rethans (автор Xdebug) запустил голосование с одним простым вопросом: Осуществима ли идея P++ в принципе? Всё сообщество PHP Internals единогласно проголосовало против, неожиданно включая самого Зеева [13]. На этом идею можно P++ можно забыть.
  • [RFC] Deprecate short open tags, again [14] — Множество контрибьюторов высказались против удаления коротких тегов из PHP в обозримой перспективе, и повторное голосование не преодолело необходимый порог. Итого короткие теги останутся ещё на 5+ лет.
  • [PoC] throw_legacy_failure declare statement [15] — Интересный PR в PHP с концептом переделки всех встроенных функций, с тем чтобы они бросали исключения вместо возращения false / null. Данная возможность включается указанием директивы declare(throw_legacy_failure=1).

PHP-Дайджест № 163 (12 – 26 августа 2019) - 6 Инструменты

  • drupol/collection [16] — Легковесный пакет для работы с коллекциями, вдохновлённый illuminate/support [17] и lazy.js [18].
  • quasilyte/phpgrep [19] — Инструмент для поиска по PHP-коду – как grep, только с «пониманием» синтаксиса PHP. Реализован на Golang и вдохновлён mvdan/gogrep [20]. Аналог SSR [21] в PhpStorm.
  • voku/portable-utf8 [22] — Библиотека для работы с UTF-8 строками без зависимостей от расширений типа mbstring или iconv.
  • jasny/switch-route [23] — PHP-разработчики никогда не писали роутеры /s и вот один реализован на основе switch-конструкций. Бенчмарки [24].
  • franzose/gimme-url [25] — Генератор ссылок для thephpleague/route [26]. Прислал franzose [27].
  • brick/varexporter [28] — Альтернатива стандартной var_export() с возможностью экспорта замыканий и объектов без вывода __set_state().
  • ivopetkov/html5-dom-document-php [29] — Улучшенный парсер HTML5. Расширяет и дополняет оригинальный DOMDocument [30].

PHP-Дайджест № 163 (12 – 26 августа 2019) - 7 Symfony

PHP-Дайджест № 163 (12 – 26 августа 2019) - 8 Laravel

PHP-Дайджест № 163 (12 – 26 августа 2019) - 13 Yii

Async PHP

PHP-Дайджест № 163 (12 – 26 августа 2019) - 17 Материалы для обучения

PHP-Дайджест № 163 (12 – 26 августа 2019) - 20 Аудио/Видео

Спасибо за внимание!

Если вы заметили ошибку или неточность — сообщите, пожалуйста, в личку [61].
Вопросы и предложения пишите на почту [62] или в твиттер [63].

Больше новостей и комментариев в Telegram-канале PHP Digest [64].

Прислать ссылку [65]
Поиск ссылок по всем дайджестам [66]
Предыдущий выпуск: PHP-Дайджест № 162 [67]

Автор: Роман Пронский

Источник [68]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/php-2/328147

Ссылки в тексте:

[1] PHP 7.4.0 beta 4: https://www.php.net/archive/2019.php#2019-08-22-1

[2] не было Beta 3: https://wiki.php.net/todo/php74#timetable

[3] 21 сентября Badoo PHP Meetup #3: производительность: https://habr.com/ru/company/badoo/blog/464775/

[4] CODEiD – PHP Odessa Conf #6: http://codeid.com.ua/

[5] Marco Pivetta: https://twitter.com/Ocramius

[6] Sebastian Feldmann: https://twitter.com/movetodevnull

[7] Straw poll for P++ feasibility: https://wiki.php.net/rfc/p-plus-plus

[8] провокационную идею: https://externals.io/message/106453

[9] обзор истории PHP: https://medium.com/@william.pinaud/about-zeevs-proposal-of-php-superset-9e291f0de630

[10] почему P++ плохая идея: https://beberlei.de/2019/08/14/pplusplus_is_a_bad_idea.html

[11] P--: https://externals.io/message/106634

[12] P===: https://twitter.com/shochdoerfer/status/1162382165688102912

[13] самого Зеева: https://twitter.com/zeevs/status/1161746535253716995

[14] [RFC] Deprecate short open tags, again: https://wiki.php.net/rfc/deprecate_php_short_tags_v2

[15] [PoC] throw_legacy_failure declare statement: https://github.com/php/php-src/pull/4549

[16] drupol/collection: https://github.com/drupol/collection

[17] illuminate/support: https://github.com/illuminate/support

[18] lazy.js: http://danieltao.com/lazy.js/

[19] quasilyte/phpgrep: https://github.com/quasilyte/phpgrep

[20] mvdan/gogrep: https://github.com/mvdan/gogrep

[21] SSR: https://www.jetbrains.com/help/phpstorm/structural-search-and-replace.html

[22] voku/portable-utf8: https://github.com/voku/portable-utf8

[23] jasny/switch-route: https://github.com/jasny/switch-route

[24] Бенчмарки: https://github.com/jasny/php-router-benchmark

[25] franzose/gimme-url: https://github.com/franzose/gimme-url

[26] thephpleague/route: https://github.com/thephpleague/route

[27] franzose: https://habr.com/ru/users/franzose/

[28] brick/varexporter: https://github.com/brick/varexporter

[29] ivopetkov/html5-dom-document-php: https://github.com/ivopetkov/html5-dom-document-php

[30] DOMDocument: https://www.php.net/manual/en/class.domdocument.php

[31] symfony-bundles/kafka-bundle: https://github.com/symfony-bundles/kafka-bundle

[32] khaperets: https://habr.com/ru/users/khaperets/

[33] Неделя Symfony #660 (19-25 августа 2019): https://symfony.com/blog/a-week-of-symfony-660-19-25-august-2019

[34] glhd/aire: https://github.com/glhd/aire

[35] inertiajs/inertia-laravel: https://github.com/inertiajs/inertia-laravel

[36] Принцип работы: https://reinink.ca/articles/introducing-inertia-js#enter-inertia-js

[37] Laravel vs Lumen — Что использовать?: https://laravel.demiart.ru/laravel-vs-lumen-what-to-use/

[38] Ошибки панели администрирования или опыт разработки Laravel Orchid: https://habr.com/ru/post/460471/

[39] Кеширование в Laravel: основы плюс tips&tricks: https://habr.com/ru/post/463495/

[40] Видеозаписи всех докладов Laracon US 2019: https://www.youtube.com/playlist?list=PL-yJve--iT5qZzp0VzYaPA7ZohLl6tSdp

[41] Запускаем Yii 2 под RoadRunner: https://rmcreative.ru/blog/post/zapuskaem-yii-2-pod-roadrunner

[42] Туториал по Yii 2 для начинающих: https://www.youtube.com/watch?v=sRJ6GYiCwkI

[43] Улучшаем HTTP-ответы: https://www.youtube.com/watch?v=FSVC3j7aDfc

[44] apisearch-io/symfony-async-kernel: https://github.com/apisearch-io/symfony-async-kernel

[45] apisearch-io/symfony-react-demo: https://github.com/apisearch-io/symfony-react-demo

[46] От LAMP к serverless: https://mnapoli.fr/serverless-case-study-externals/

[47] Быстрый обзор Slim 4: https://akrabat.com/a-first-look-at-slim-4/

[48] Разбор SQLi и PHP Object Injection уязвимостей в SuiteCRM: https://blog.ripstech.com/2019/breaking-into-your-internal-network/

[49] Перестаньте использовать DateTime: https://habr.com/ru/company/otus/blog/464253/

[50] Альтернативный подход к подписке на события, или а так ли нужен EventObject: https://habr.com/ru/post/463313/

[51] Профилируем PHP-приложения с помощью Blackfire.io: https://www.youtube.com/watch?v=ay4kwd0MYIE

[52] PHP Panda Meetup в Skyeng: https://www.youtube.com/watch?v=ks3t_Z9st8k

[53] PHP Internals News #23: https://phpinternals.news/23

[54] George Banyard: https://twitter.com/Girgias

[55] PHP Internals News #24: https://phpinternals.news/24

[56] Станисловам Малышевым: https://github.com/smalyshev

[57] SDCast: https://sdcast.ksdaemon.ru/2019/08/sdcast-107/

[58] Пятиминутка PHP: https://soundcloud.com/5minphp/episode62

[59] DDD #2 — Документация и коммуникация: https://5minphp.ru/episode63/

[60] DDD #3 — Layered Architecture: https://5minphp.ru/episode64/

[61] личку: https://habrahabr.ru/conversations/pronskiy/

[62] почту: mailto:roman@pronskiy.com

[63] твиттер: https://twitter.com/pronskiy

[64] PHP Digest: https://t.me/phpdigest

[65] Прислать ссылку: https://bit.ly/php-digest-add-link

[66] Поиск ссылок по всем дайджестам: https://pronskiy.com/php-digest/

[67] Предыдущий выпуск: PHP-Дайджест № 162: https://habr.com/ru/post/463279/

[68] Источник: https://habr.com/ru/post/464971/?utm_source=habrahabr&utm_medium=rss&utm_campaign=464971