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

Свежая подборка со ссылками на новости и материалы. В выпуске: PHP 7.4.0 alpha 3, ReactPHP 1.0 LTS, порция полезных инструментов, видеозаписи с конференций, подкасты и многое другое.
Приятного чтения!
Также пара свежих изменений без отдельных RFC:
• proc_open будет принимать аргументы в виде массива, их не надо экранировать и при этом процесс запустится напрямую без промежуточного запуска shell:
proc_open(['php', '-r', 'echo "Hello Worldn";'], $descriptors, $pipes);
• В PHP 7.4 будет бросаться notice при попытке использовать скалярные типы как массивы. Раньше такие вызовы просто возвращали null:
$null = null;
var_dump($null[0]); // NULL
$int = 42;
var_dump($int['foo']); // NULL
var_dump(true[0] === false[0]); // true
10 полезных методов Коллекций Laravel [23]
Делаем Event Sourcing в Laravel с помощью EventSauce [25]
Пишем RESTful API с помощью ReactPHP: Добавляем роуты [32], Рефакторим добавляя контроллеры [33], Тестовые ендпоинты [34], Добавляем обработку ошибок [35]
Микросервисы или монолит: ищем решение [51]
Спецификации в PHP [52]
Whitespace Обфускатор для PHP [53]
composer vs npm: многомодульная разработка [54]
Разработка под Docker. Локальное окружение. Часть 1 [55]
DevConf 2019, Москва [56]
PHPDay 2019, Verona [57]
PHP Town Hall Episode 67 [58] — О Zend Framework 3 и Laminas c Adam Culp [59].Спасибо за внимание!
Если вы заметили ошибку или неточность — сообщите, пожалуйста, в личку [70].
Вопросы и предложения пишите на почту [71] или в твиттер [72].
Больше новостей и комментариев в Telegram-канале PHP Digest [73].
Прислать ссылку [74]
Поиск ссылок по всем дайджестам [75]
← Предыдущий выпуск: PHP-Дайджест № 159 [76]
Автор: Роман Пронский
Источник [77]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/php-2/323911
Ссылки в тексте:
[1] PHP 7.3.7: https://www.php.net/ChangeLog-7.php#7.3.7
[2] PHP 7.2.20: https://www.php.net/ChangeLog-7.php#7.2.20
[3] PHP 7.4.0 alpha 3: https://www.php.net/archive/2019.php#2019-07-11-1
[4] запланированных: https://wiki.php.net/todo/php74#timetable
[5] список изменений: https://github.com/php/php-src/blob/php-7.4.0alpha3/UPGRADING
[6] Deprecations for PHP 7.4: https://wiki.php.net/rfc/deprecations_php_7_4
[7] Escape PDO "?" parameter placeholder: https://wiki.php.net/rfc/pdo_escape_placeholders
[8] Deprecate curly brace syntax for accessing array elements and string offsets: https://wiki.php.net/rfc/deprecate_curly_braces_array_access
[9] Add str_starts_with(), str_ends_with() and related functions: https://wiki.php.net/rfc/add_str_begin_and_end_functions
[10] humbug/php-scoper: https://github.com/humbug/php-scoper
[11] пример использования для WordPress-плагинов: https://developer.yoast.com/safely-using-php-dependencies-in-the-wordpress-ecosystem/
[12] CaptainHookPhp/captainhook: https://github.com/CaptainHookPhp/captainhook
[13] sebastianfeldmann/phpbu: https://github.com/sebastianfeldmann/phpbu
[14] localheinz/http-method: https://github.com/localheinz/http-method
[15] spiral/roadrunner: https://github.com/spiral/roadrunner/
[16] докладе от автора: https://www.youtube.com/watch?v=647CIr6ZkDA
[17] leocarmo/circuit-breaker-php: https://github.com/leocarmo/circuit-breaker-php
[18] Circuit Breaker: https://martinfowler.com/bliki/CircuitBreaker.html
[19] ackintosh/ganesha: https://github.com/ackintosh/ganesha
[20] Symfony Local Web Server, 6 месяцев спустя: https://symfony.com/blog/symfony-local-web-server-6-months-later
[21] Неделя Symfony #654 (8-14 июля 2019): https://symfony.com/blog/a-week-of-symfony-654-8-14-july-2019
[22] Переносим Symfony-приложение на Kubernetes: https://itnext.io/publishing-symfony-application-with-helm-ecb525b34289
[23] 10 полезных методов Коллекций Laravel: https://laravel.demiart.ru/10-helpful-methods-laravel-collections/
[24] Исследование TestCase в Laravel: https://twitter.com/timacdonald87/status/1145151679110627328
[25] Делаем Event Sourcing в Laravel с помощью EventSauce: https://astrocasts.com/live-sessions/projects/event-sourcing-with-laravel-and-eventsauce/session-1
[26] Как реализовать «логин под другим юзером» для тестирования приложения: https://2amigos.us/blog/how-to-do-identity-impersonation-with-yii2
[27] Последние релизы Yii 2 и новости Yii 3: https://opencollective.com/yiisoft/updates/yii-2-0-22-extension-releases-and-yii-3-progress
[28] ReactPHP 1.0 LTS: https://www.lueck.tv/2019/announcing-reactphp-lts
[29] reactphp/dns: https://github.com/reactphp/dns
[30] reactphp/cache: https://github.com/reactphp/cache
[31] reactphp/react: https://github.com/reactphp/react
[32] Добавляем роуты: https://www.youtube.com/watch?v=vUZ98oHwzco
[33] Рефакторим добавляя контроллеры: https://www.youtube.com/watch?v=xJbFS7NBF14
[34] Тестовые ендпоинты: https://www.youtube.com/watch?v=9LILEZqdtkA
[35] Добавляем обработку ошибок: https://www.youtube.com/watch?v=fl7gcLRhPTY
[36] Используем ReactPHP для запуска команд Drupal: https://glamanate.com/blog/using-reactphp-run-drupal-tasks
[37] swoft-cloud/swoft 2.0: https://github.com/swoft-cloud/swoft
[38] Вводный пост: https://medium.com/@inhereat/php-coroutine-framework-swoft-2-0-d41825750d68
[39] nbs-system/snuffleupagus: https://github.com/nbs-system/snuffleupagus
[40] Об использовании: https://dustri.org/b/snuffleupagus-versus-recent-high-profile-vulnerabilities.html
[41] paragonie/argon2-refiner: https://github.com/paragonie/argon2-refiner
[42] оптимальные параметры: https://wiki.php.net/rfc/argon2_password_hash#discussion_issues
[43] добавленного в PHP 7.3: https://wiki.php.net/rfc/argon2_password_hash_enhancements
[44] Используем нюансы парсера запросов в PHP: https://www.secjuice.com/abusing-php-query-string-parser-bypass-ids-ips-waf/
[45] Magento 2.3.1: Unauthenticated Stored XSS to RCE: https://blog.ripstech.com/2019/magento-rce-via-xss/
[46] уязвимостей: http://www.opennet.ru/opennews/art.shtml?num=51027
[47] Предзагрузка в PHP 7.4: https://stitcher.io/blog/preloading-in-php-74
[48] Хорошие практики написания Dockerfile: https://blog.docker.com/2019/07/intro-guide-to-dockerfile-best-practices/
[49] Как правильно работать с Null значениями: https://afilina.com/null-hell
[50] Прекратите использовать DateTime: https://blog.nikolaposa.in.rs/2019/07/01/stop-using-datetime/
[51] Микросервисы или монолит: ищем решение: https://habr.com/ru/post/459810/
[52] Спецификации в PHP: https://habr.com/ru/post/455030/
[53] Whitespace Обфускатор для PHP: https://habr.com/ru/post/458710/
[54] composer vs npm: многомодульная разработка: https://habr.com/ru/post/458018/
[55] Разработка под Docker. Локальное окружение. Часть 1: https://habr.com/ru/post/459972/
[56] DevConf 2019, Москва: https://www.youtube.com/watch?v=ufLTLgM1jZs&list=PLuezgi8scAZi6SdRgQMYk1jmC0KMse6m2
[57] PHPDay 2019, Verona: https://www.youtube.com/playlist?list=PLWK9j6ps_unnnmpaIjDuA_WVJIwWkj1Zv
[58] PHP Town Hall Episode 67: https://www.youtube.com/watch?v=OFlqCv3V-40
[59] Adam Culp: https://twitter.com/adamculp
[60] That Podcast Episode 60: https://thatpodcast.io/episodes/episode-60-the-one-where-we-talk-twig-drupal-and-sculpin-with-oliver-davies
[61] Oliver Davies: https://twitter.com/opdavies
[62] That Podcast Episode 61: https://thatpodcast.io/episodes/episode-61-the-one-where-we-discuss-symfony-s-http-client-with-nicolas-grekas
[63] Nicolas Grekas: https://twitter.com/nicolasgrekas
[64] говорит: https://twitter.com/nicolasgrekas/status/1149718300408078342
[65] Запускаем PHP в JavaScript: https://francisco.io/blog/running-php-in-javascript/
[66] glayzzle/php-parser: https://github.com/glayzzle/php-parser
[67] kornelski/babel-preset-php: https://gitlab.com/kornelski/babel-preset-php
[68] oraoto/pib : https://github.com/oraoto/pib
[69] Emscripten: https://github.com/emscripten-core/emscripten
[70] личку: https://habrahabr.ru/conversations/pronskiy/
[71] почту: mailto:roman@pronskiy.com
[72] твиттер: https://twitter.com/pronskiy
[73] PHP Digest: https://t.me/phpdigest
[74] Прислать ссылку: https://bit.ly/php-digest-add-link
[75] Поиск ссылок по всем дайджестам: https://pronskiy.com/php-digest/
[76] Предыдущий выпуск: PHP-Дайджест № 159: https://habr.com/ru/post/458292/
[77] Источник: https://habr.com/ru/post/460022/?utm_source=habrahabr&utm_medium=rss&utm_campaign=460022
Нажмите здесь для печати.