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

PHP-Дайджест № 167 (22 октября – 4 ноября 2019)

PHP-Дайджест № 167 (22 октября – 4 ноября 2019) - 1

Свежая подборка со ссылками на новости и материалы. В выпуске: PHP 7.4.0 RC5, Xdebug 2.8, критическая уязвимость в PHP-FPM, новости из PHP Internals, порция полезных инструментов, подкасты, стримы и многое другое.

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

PHP-Дайджест № 167 (22 октября – 4 ноября 2019) - 2 Новости и релизы

PHP-Дайджест № 167 (22 октября – 4 ноября 2019) - 3 PHP Internals

  • [RFC] Union Types 2.0 [20] — Голосование по объединённым типам продвигается весьма бодро. Подробнее о данном предложении в подкасте audio PHP Internals News #33 [21] с Никитой Поповым. Также опыт использования GitHub для обсуждения и доработки данного RFC [22] оказался в целом успешным, и предлагается [23] продолжить использовать такой флоу в опциональном/тестовом режиме.
  • [PHP] Deprecate Backtick Operator (V2) [24] — А вот голосование об упразднении обратных кавычек ` ` в качестве алиаса для shell_exec() не такое успешное. О деталях RFC в audio PHP Internals News #34 [25] с автором предложения Mark Randall [26].
  • [RFC] Object Initializer [27] — Предложение в текущем виде не преодолело необходимый порог на голосовании.

PHP-Дайджест № 167 (22 октября – 4 ноября 2019) - 6 Инструменты

  • webmozarts/console-parallelization [28] — Позволяет распараллеливать команды symfony/console [29].
  • matteosister/GitElephant [30] — Библиотека для работы с Git из PHP.
  • mnapoli/bof [31] — Обёртка над Guzzle с более простым интерфейсом для создания запросов.
  • danog/MadelineProto [32] — Асинхронный клиент/сервер протокола Telegram MTProto. Позволяет взаимодействовать с Telegram без использования бот-API.

PHP-Дайджест № 167 (22 октября – 4 ноября 2019) - 7 Symfony

PHP-Дайджест № 167 (22 октября – 4 ноября 2019) - 8 Laravel

PHP-Дайджест № 167 (22 октября – 4 ноября 2019) - 12 Yii

PHP-Дайджест № 167 (22 октября – 4 ноября 2019) - 14 Zend/Laminas

Async PHP

PHP-Дайджест № 167 (22 октября – 4 ноября 2019) - 15 Материалы для обучения

PHP-Дайджест № 167 (22 октября – 4 ноября 2019) - 19 Аудио/Видео

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

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

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

Прислать ссылку [72]
Поиск ссылок по всем дайджестам [73]
Предыдущий выпуск: PHP-Дайджест № 166 [74]

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

Источник [75]


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

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

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

[1] PHP 7.4.0 RC5: https://www.php.net/index.php#id2019-10-24-3

[2] запланированных: https://wiki.php.net/todo/php74#timetable

[3] PHP 7.3.11: https://www.php.net/ChangeLog-7.php#7.3.11

[4] 7.2.24: https://www.php.net/ChangeLog-7.php#7.2.24

[5] 7.1.33: https://www.php.net/ChangeLog-7.php#7.1.33

[6] CVE-2019-11043: https://lab.wallarm.com/php-remote-code-execution-0-day-discovered-in-real-world-ctf-exercise/

[7] ошибка в PHP-FPM: https://github.com/php/php-src/blob/878f8b0b235d6815ab441b9019f02d611b47d422/sapi/fpm/fpm/fpm_main.c#L1141

[8] исправление: https://github.com/php/php-src/commit/ab061f95ca966731b1c84cf5b7b20155c0a1c06a#diff-624bdd47ab6847d777e15327976a9227

[9] эксплойт: https://github.com/neex/phuip-fpizdam

[10] в публичном доступе: https://github.com/jas502n/CVE-2019-11043

[11] Подробнее об уязвимости: https://www.opennet.ru/opennews/art.shtml?num=51749

[12] не получили: https://github.com/php/php-src/blob/PHP-5.6.40/sapi/fpm/fpm/fpm_main.c#L1248.

[13] Xdebug 2.8.0: https://xdebug.org/#2019-10-31

[14] skyeng/php-communities: https://github.com/skyeng/php-communities

[15] BeerPHP Moscow #7: https://www.meetup.com/BeerPHP-Moscow/events/266070833/

[16] PUM: PHP Ural Meetups 1.1: https://scienceman.timepad.ru/event/1090542/

[17] Митап про страхи в PHP: http://it.skyeng.ru/php21

[18] PHP-митап с Сергеем Жуком и Антоном Моревым: http://ufaphpmeetup.tilda.ws/

[19] PHP: Неправильный путь: https://events.involta.ru/events/show/14

[20] [RFC] Union Types 2.0: https://wiki.php.net/rfc/union_types_v2#vote

[21] PHP Internals News #33: https://phpinternals.news/33

[22] обсуждения и доработки данного RFC: https://github.com/nikic/php-rfcs/blob/union-types/rfcs/0000-union-types-v2.md

[23] предлагается: https://externals.io/message/107747

[24] [PHP] Deprecate Backtick Operator (V2): https://wiki.php.net/rfc/deprecate-backtick-operator-v2

[25] PHP Internals News #34: https://phpinternals.news/34

[26] Mark Randall: https://github.com/marandall/

[27] [RFC] Object Initializer: https://wiki.php.net/rfc/object-initializer

[28] webmozarts/console-parallelization: https://github.com/webmozarts/console-parallelization

[29] symfony/console: https://github.com/symfony/console

[30] matteosister/GitElephant: https://github.com/matteosister/gitelephant

[31] mnapoli/bof: https://github.com/mnapoli/bof

[32] danog/MadelineProto: https://github.com/danog/MadelineProto

[33] Symfony 5: The Fast Track: https://www.kickstarter.com/projects/fabpot/symfony-5-the-fast-track

[34] У вас могут быть утечки памяти в тестах Symfony на PHP 7: https://jolicode.com/blog/you-may-have-memory-leaking-from-php-7-and-symfony-tests

[35] Неделя Symfony #670 (28 октября — 3 ноября 2019): https://symfony.com/blog/a-week-of-symfony-670-28-october-3-november-2019

[36] Доменно-ориентированный Laravel: https://stitcher.io/blog/laravel-beyond-crud-01-domain-oriented-laravel

[37] серии: https://stitcher.io/blog/laravel-beyond-crud

[38] как использовать PhpStorm для рефакторинга: https://freek.dev/1486-getting-started-with-domain-oriented-laravel

[39] Почему следует использовать дефолтную архитектуру Laravel-приложения: https://schlein.net/blog/stick-to-the-default

[40] Поддерживаем конфиги Laravel: https://jasonmccreary.me/articles/maintaining-laravel-config-files/

[41] О разработке легко поддерживаемых приложений на Laravel: https://jasonmccreary.me/articles/crafting-maintainable-laravel-applications/

[42] Развёртывание Laravel-проектов в Kubernetes: https://medium.com/swlh/deploying-laravel-projects-to-kubernetes-a29edc0b588e

[43] Еще один способ тестирования запросов в Laravel: https://laravel.demiart.ru/unit-testing-laravel-form-requests-in-a-different-way/

[44] Часть третья: «Заключительная»: https://habr.com/ru/company/otus/blog/473114/

[45] Laravel Snippet #17: Motivation and Discipline: https://blog.laravel.com/laravel-snippet-17-motivation-and-discipline

[46] Yii 2.0.29, расширения и прогресс по Yii 3: https://yiiframework.ru/news/252/yii-2029-rassirenia-i-progress-po-yii-3

[47] Zend Framework будет переименован в Laminas: https://framework.zend.com/blog/2019-04-17-announcing-laminas.html

[48] репозитории проекта: https://github.com/laminas

[49] laminas/laminas-migration: https://github.com/laminas/laminas-migration

[50] инструкция по проверке миграции: https://gist.github.com/weierophinney/df937d870b0d8bded4d1185ef510aaed

[51] Building RESTful API With ReactPHP: https://leanpub.com/building-restful-api-with-reactphp

[52] серии видео-туториалов: https://www.youtube.com/playlist?list=PLKIEFFgNQYpWeEvjglhMKUsM1xxKAwgcs

[53] apisearch-io/symfony-react-server: https://github.com/apisearch-io/symfony-react-server

[54] Что такое сборка мусора в PHP: https://tideways.com/profiler/blog/what-is-garbage-collection-in-php-and-how-do-you-make-the-most-of-it

[55] выпуск подкаста The Undercover ElePHPant с Derick Rethans: https://undercover-elephpant.com/episodes/what-is-garbage-collection-in-php-and-how-do-you-make-the-most-of-it-with-derick-rethans

[56] Codeception 4.0 и дальше: https://codeception.com/10-22-2019/codeception-4.0-and-beyond

[57] Пример реализации кастомной инспекции в PhpStorm: https://medium.com/@claudsonm/mysql-reserved-words-checker-for-laravel-migrations-on-phpstorm-2d34b5fcde75

[58] Решаем проблему N+1 в ORM'ках: https://thecodingmachine.io/solving-n-plus-1-problem-in-orms

[59] PHP: Прошлое и будущее: https://blog.krakjoe.ninja/2019/10/php-past-and-future.html

[60] Как выглядит zip-архив и что мы с этим можем сделать.: https://habr.com/ru/post/471066/

[61] Часть 2 — Data Descriptor и сжатие: https://habr.com/ru/post/472966/

[62] Docker + php-fpm + PhpStorm + Xdebug: https://habr.com/ru/post/473184/

[63] Пробуем preload (PHP 7.4) и RoadRunner: https://habr.com/ru/company/badoo/blog/472528/

[64] Бенчмарки сжатия алгоритмом zstd с помощью PHP-расширения и через FFI.: https://blog.remirepo.net/post/2019/10/23/FFI-extension-usage-with-PHP-7.4

[65] vdechenaux/PhpWebcam: https://github.com/vdechenaux/PhpWebcam

[66] Храним секретные данные в переменных окружения с помощью phpdotenv: https://www.youtube.com/watch?v=oTrJfgUF1SI

[67] SDCast #109: https://sdcast.ksdaemon.ru/2019/10/sdcast-109/

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

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

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

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

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

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

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

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