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

PHP-Дайджест № 144 (12 – 26 ноября 2018)

PHP-Дайджест № 144 (12 – 26 ноября 2018) - 1

Свежая подборка со ссылками на новости и материалы. В выпуске: PHP 7.3.0RC6, PhpStorm 2018.3 и другие релизы, Symfony покидает PHP-FIG, свежие предложения и новости PHP Internals, порция полезных инструментов, видеозаписи с прошедших митапов и конференций и многое другое.
Приятного чтения!

PHP-Дайджест № 144 (12 – 26 ноября 2018) - 2 Новости и релизы

  • PHP 7.3.0RC6 [1] — Шестой и, вероятно, последний релиз-кандидат ветки 7.3. Затаив дыхание ждем финального релиза уже 6 декабря. А пока можно еще раз посмотреть что нового в 7.3 в свежих обзорах тут [2] и тут [3]. Доступно немного бенчмарков [4], которые показывают прирост производительности ~10% по сравнению с 7.2.
  • HTTP/3 поверх QUIC [5] — Принято решение о том, что следующий стандарт HTTP будет использовать QUIC, который, в свою очередь, работает поверх UDP, а не TCP. Доступен обзор QUIC от CloudFlare [6], включая проблему с NAT и прочие нюансы.
  • habr Доступен PhpStorm 2018.3 [7]
    • Поддержка DQL
    • PHP CS Fixer
    • Новые рефакторинги
    • Деплоймент на множество хостов одновременно
    • GitHub Pull Requests
    и много других улучшений!
  • Symfony покидает PHP-FIG [8] — Лидер Symfony Фабьен удалил [8] себя и фреймворк из списка участников [9] группы PHP-FIG. И прокомментировал свое решение в Твиттере [10]:

    В этом свете все еще актуальным кажется открытые письмо Энтони Феррара к PHP-FIG [13], в котором он говорит: «Пожалуйста, перестаньте решать общие проблемы. Решите 50% проблем, не 99%».
    Два года назад группу PHP-FIG уже покинули представители Laravel, Propel, Doctrine, Guzzle, Stash и Aura, в основном из-за того, что особо не принимали участия в обсуждениях.

PHP-Дайджест № 144 (12 – 26 ноября 2018) - 4 PHP Internals

  • RFC: Password Hashing Registry [14] — Предложение принято для следующей версии PHP и позволяет в расширениях регистрировать собственные алгоритмы хеширования.
  • RFC: Spread Operator in Array [15] — Предлагается добавить оператор ... для массивов.
    Скрытый текст

    $parts = ['apple', 'pear'];
    $fruits = ['banana', 'orange', ...$parts, 'watermelon'];
    // ['banana', 'orange', 'apple', 'pear', 'watermelon'];
    
  • [RFC] Preloading [16] — Голосование по RFC о предзагрузке файлов завершилось. Все члены core-team единогласно поддержали это предложение. А значит в следующем году в 7.4 нас ждет возможность предварительно загружать в опкэш любые файлы. Все функции и классы, объявленные в этих файлах, будут доступны для всех последующих запросов, как если бы это были встроенные элементы вроде strlen() или Exception.

    Идут детальные обсуждения поддержки данной возможности в Composer [17] и Symfony [18] (прислал @dmitrybalabka [19]), а также доступен концепт плагина Ayesh/Composer-Preload [20].

PHP-Дайджест № 144 (12 – 26 ноября 2018) - 5 Инструменты

  • spiral/roadrunner [21] — Высокопроизводительный сервер приложений, балансировщик нагрузки и менеджер процессов для PHP реализованный на Go. В поддержку интересный рассказ о создании RoadRunner [22] и кардинальном изменении подхода к разработке PHP-приложений.
  • cebe/php-openapi [23] — Инструмент читает OpenAPI файлы с описанием сервисов в удобные для работы объекты PHP.
  • tgalopin/html-sanitizer [24] — Библиотека для обработки, чистки и санитайзинга HTML-данных, пришедших от пользователя. Доступен такжебандл для Symfony [25]. Прислал berezuev [26].
  • jeremykendall/php-domain-parser [27] — Парсер доменов, который распознает регистрируемую часть домена и публичный суффикс.
  • nginxconfig.io [28] — Генератор конфига Nginx.
  • rryqszq4/ngx_php7 [29] — Встраиваемый в Nginx интерпретатор PHP. Позволяет создавать обработчики запросов на PHP, модифицировать запрос/ответ, фильтровать тело ответа и заголовки, и прочее.
  • php-decimal/ext-decimal [30] — Расширение реализует десятичную арифметику с произвольной точностью и корректным округлением. Пост от автора [31] в поддержку.
  • Hywan/php-ext-wasm [32] — Экспериментальное расширение, которое позволяет запускать бинарники WebAssembly прямо из PHP. Потенциально может дать возможность динамически подгружать модули, реализованные на других языках.

PHP-Дайджест № 144 (12 – 26 ноября 2018) - 6 Материалы для обучения

PHP-Дайджест № 144 (12 – 26 ноября 2018) - 19 Аудио и видеоматериалы

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

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

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

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

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

Источник [75]


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

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

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

[1] PHP 7.3.0RC6: http://news.php.net/php.internals/103479

[2] тут: https://stitcher.io/blog/new-in-php-73

[3] тут: https://hackernoon.com/php-7-3-and-its-gifts-ecffb275ae5d

[4] немного бенчмарков: https://www.phoronix.com/scan.php?page=news_item&px=PHP-7.3-Performance-Benchmarks

[5] HTTP/3 поверх QUIC: https://daniel.haxx.se/blog/2018/11/11/http-3/

[6] QUIC от CloudFlare: https://habr.com/company/Voximplant/blog/430436/

[7] Доступен PhpStorm 2018.3: https://habr.com/company/JetBrains/blog/430878/

[8] Symfony покидает PHP-FIG: https://github.com/php-fig/fig-standards/pull/1120/files

[9] списка участников: https://github.com/php-fig/fig-standards/blob/master/personnel.md#member-projects

[10] в Твиттере: https://twitter.com/fabpot/status/1064946698089365505

[11] #php: https://twitter.com/hashtag/php?src=hash&ref_src=twsrc%5Etfw

[12] November 20, 2018: https://twitter.com/fabpot/status/1064946698089365505?ref_src=twsrc%5Etfw

[13] открытые письмо Энтони Феррара к PHP-FIG: https://blog.ircmaxell.com/2014/10/an-open-letter-to-php-fig.html

[14] RFC: Password Hashing Registry: https://wiki.php.net/rfc/password_registry

[15] RFC: Spread Operator in Array: https://wiki.php.net/rfc/spread_operator_for_array

[16] [RFC] Preloading: https://wiki.php.net/rfc/preload

[17] Composer: https://github.com/composer/composer/issues/7777

[18] Symfony: https://github.com/symfony/symfony/issues/29105

[19] @dmitrybalabka: https://twitter.com/dmitrybalabka

[20] Ayesh/Composer-Preload: https://github.com/Ayesh/Composer-Preload

[21] spiral/roadrunner: https://github.com/spiral/roadrunner

[22] интересный рассказ о создании RoadRunner: https://blog.spiralscout.com/php-was-never-meant-to-die-830de87915ee

[23] cebe/php-openapi: https://github.com/cebe/php-openapi

[24] tgalopin/html-sanitizer: https://github.com/tgalopin/html-sanitizer

[25] бандл для Symfony: https://github.com/tgalopin/html-sanitizer-bundle

[26] berezuev: https://habr.com/users/berezuev/

[27] jeremykendall/php-domain-parser: https://github.com/jeremykendall/php-domain-parser

[28] nginxconfig.io: https://nginxconfig.io/

[29] rryqszq4/ngx_php7: https://github.com/rryqszq4/ngx_php7

[30] php-decimal/ext-decimal: https://github.com/php-decimal/ext-decimal

[31] Пост от автора: https://medium.com/@rtheunissen/accurate-numbers-in-php-b6954f6cd577

[32] Hywan/php-ext-wasm: https://github.com/Hywan/php-ext-wasm

[33] yarhon/YarhonRouteGuardBundle: https://github.com/yarhon/YarhonRouteGuardBundle

[34] Использование Symfony Messenger вместе с AWS SQS: http://julianli.co/posts/symfony-messenger-with-sqs

[35] Symfony Bundle для экспорта статистик в формате Prometheus: https://habr.com/post/429800/

[36] Обновление в использовании .env файлов для всех весрий Symfony: https://symfony.com/blog/improvements-to-the-handling-of-env-files-for-all-symfony-versions

[37] Неделя Symfony #621 (19-25 ноября 2018): https://symfony.com/blog/a-week-of-symfony-621-19-25-november-2018

[38] Неделя Symfony #620 (12-18 ноября 2018): https://symfony.com/blog/a-week-of-symfony-620-12-18-november-2018

[39] yiisoft/yii-project-template: https://github.com/yiisoft/yii-project-template

[40] nuwber/rabbitevents: https://github.com/nuwber/rabbitevents

[41] anlutro/laravel-settings: https://github.com/anlutro/laravel-settings

[42] spatie/dashboard.spatie.be: https://github.com/spatie/dashboard.spatie.be

[43] Пост: https://murze.be/building-a-realtime-dashboard-powered-by-laravel-vue-pusher-and-tailwind-2018-edition

[44] Динамические отношения в Laravel с помощью подзапросов: https://reinink.ca/articles/dynamic-relationships-in-laravel-using-subqueries

[45] Несколько трюков Laravel, о которых вы могли не знать: https://webdevetc.com/blog/laravel-features-you-may-not-know-about

[46] Видеозаписи с Laracon AU 2018: https://www.youtube.com/playlist?list=PLEkJYA4gJb7_FKspNTgrve7FUb3A1dT3y

[47] Laracon EU 2018: https://www.youtube.com/playlist?list=PLMdXHJK-lGoC64wnqvm6v1R5dsuAV-MpS

[48] clue/reactphp-socks: https://github.com/clue/reactphp-socks

[49] Пост от автора: https://www.lueck.tv/2018/introducing-reactphp-socks

[50] voryx/PgAsync: https://github.com/voryx/PgAsync

[51] jakubkulhan/bunny: https://github.com/jakubkulhan/bunny

[52] wudi/swoole-ide-helper: https://github.com/wudi/swoole-ide-helper

[53] Быстрый веб-скрапинг на ReactPHP #1: Достаем данные из HTML: https://www.youtube.com/watch?v=_XYVP5fdt_0&feature=youtu.be

[54] Magento Community Digest 2018.11.19: https://community.magento.com/t5/News-Announcements/MagentoMonday-Community-Digest-2018-11-19/td-p/112639

[55] Уязвимость в движке для создания форумов phpBB: http://www.opennet.ru/opennews/art.shtml?num=49641

[56] PSR-18: The PHP standard for HTTP clients: https://medium.com/php-fig/psr-18-the-php-standard-for-http-clients-3254c58752bb

[57] раз: https://blog.fox21.at/2018/11/21/avoid-dynamic-data-structures-in-php.html

[58] два: https://nehalist.io/better-array-parameter-handling-in-php/

[59] Запускаем PHP на Android с помощью PeachPie и Xamarin: https://www.peachpie.io/2018/11/php-on-android.html

[60] Когда стоит использовать монорепозиторий для PHP проектов: https://www.tomasvotruba.cz/blog/2018/11/19/when-you-should-use-monorepo-and-when-local-packages/

[61] Фаззинг исходников PHP для поиска ошибок и не только: https://www.tripwire.com/state-of-security/vert/fuzzing-php-for-fun-and-profit/

[62] История о том, как мы ускорили тесты в 12 раз: https://habr.com/company/kolesa/blog/429782/

[63] Матрица — терминальная операционная система в 10 Кб Javascript, для реактивных приложений на PHP: https://habr.com/post/430786/

[64] Конспект доклада «Монолит для сотен версий клиентов» (HL2018, Badoo, Владимир Янц): https://habr.com/post/429776/

[65] Производительность PHP: планируем, профилируем, оптимизируем: https://habr.com/company/badoo/blog/430722/

[66] Подкаст PHP Roundtable #80: https://www.phproundtable.com/episode/php-internals-preloading-ffi-typed-properties-and-more

[67] Видеозаписи встречи в Минске Onliner PHP Meetup #2: https://www.youtube.com/playlist?list=PLx2IchnH8dHjvlYRGrQfbC_gr8VVlJ27p

[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-Дайджест № 143: https://habr.com/post/429536/

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