Свежая подборка со ссылками на новости и материалы. В выпуске: PHP 7.2.0 RC6, новости PHP-FIG, пара принятых RFC для PHP 7.3, порция полезных инструментов, материалы по асинхронному PHP, и многое другое.
Приятного чтения!
Новости и релизы
- PHP 7.2.0 RC6 — Шестой и, вероятно, последний релиз-кандидат ветки 7.2. Затаив дыхание ждем финального релиза уже 30 ноября.
- Статистика использования версий PHP – 2017.2 — Традиционная компиляция статистики за полгода на основе информации, которую Composer отправляет при подключении к packagist.org. Суммарная доля PHP 7 составляет уже 67.39%.
- Месяц PHP FIG #1: октябрь 2017 — Первый регулярный обзор новостей из группы PHP-FIG. PSR-12 о расширенном стиле кодирования вошел в стадию черновика; много идей для новых стандартов и другие новости.
- Новый код ответа HTTP — 103
PHP Internals
- [RFC] Allow a trailing comma in function calls — Предложение принято, а значит в ветке 7.3 станет возможным использование запятой после последнего аргумента функции:
var_dump( $foo, $bar, $buz, );
- [RFC] Flexible Heredoc and Nowdoc Syntaxes — Предложение по улучшению многострочных текстовых блоков также принято. Станут доступны поддержка отступов и отмена необходимости перевода строки после закрывающего маркера:
<?php $values = [<<<EOT a b c EOT, 'd e f'];
Инструменты
- spiral/goridge — Высокопроизводительный RPC из PHP в Go без зависимостей.
- BitOne/php-meminfo — Расширение, которое выводит информацию об использовании памяти и предназначено для обнаружения утечек.
- simplario/quedis — Простая очередь на Redis. Прислал Влад Грознов.
- daveearley/cli.fyi — Код сервиса cli.fyi, который выведет различную информацию в консоли при запросе с помощью curl.
- ausi/slug-generator — Библиотека для генерации урлов (slug) на основе CLDR.
- vozlt/nginx-module-vts — Расширение для nginx, которое выводит полезную страницу со статусом.
- colinodell/json5 — Реализация де/кодирования JSON по стандарту JSON5.
- mnapoli/pretty — CLI интерфейс для упрощения работы с CodeSniffer и PHP-CS-Fixer.
- LambdaPHP — Инструмент для быстрого запуска PHP-приложения на AWS Lambda.
Материалы для обучения
-
Symfony
- Пачка уязвимостей в компонентах Symfony: CVE-2017-16653, CVE-2017-16652, CVE-2017-16654, CVE-2017-16790
- Неделя Symfony #566 (30 октября — 5 ноября 2017)
- Неделя Symfony #567 (6-12 ноября 2017)
- Неделя Symfony #568 (13-19 ноября 2017)
- Сравнение PHP 7.1 и 7.2 производительности (на Docker и Symfony Flex)
-
Yii
- Yii 2.0.13
- Yii development notes #17
- Обсуждения планов и идей для Yii 2.1 на русском и английском, по результатам которых сформирована доска в Trello, где можно отслеживать статус идей.
-
Laravel
- TheOrchid/WebSocket — WebSockets сервер для Laravel на базе Ratchet.
- akalongman/laravel-lodash — Различные полезности для Laravel >=5.5.
- Самотестируемая система с оповещениями на Laravel + Bitbucket + HipChat
-
Async PHP
- clue/php-stdio-react — Библиотека для удобной работы с консольным вводом/выводом (STDIN, STDOUT) в асинхронном режиме.
- seregazhuk/php-react-promise-testing — Хелпер для PHPUnit для тестирования промисов ReactPHP.
- О магии асинхронного PHP
- Расширение дочерних процессов для ReactPHP
- Создание клиента для Memcached на ReactPHP: События
- Создаем сервер для потокового видео — Глава из книги по асинхронному PHP.
-
CMS
- WordPress 4.9 “Tipton”
- SQL injection уязвимости в WordPress — технические детали, бэкграунд.
- postlight/headless-wp-starter — WordPress в качестве RESTful бекенда и React на фронте.
- tim-field/graphql-wp — GraphQL для WordPress.
- Magento Tech Digest #6 — News, Tutorials and Tools (October 31 — November 13, 2017)
- Оптимизация «switch» выражений в PHP 7.2
- Экспорт функций а-ля Javascript — Интересный трюк с использованием возвращаемого значения require:
<?php return [ 'times2' => function (int $x): int { return $x * 2; }, 'answer' => function (): int { return 42; } ];
<?php ['times2' => $mul] = require 'foo.php'; var_dump($mul(21)); // int(42)
- Как деплоить с помощью Deployer — Прислал Антон Багаев.
- О внедрении профайлера blackfire.io в CI-процесс
- Как правильно читать большие файлы на PHP
- Интересная заметка Никиты Попова о производительности при использовании PHP-Parser
- Как связать Monolog и ELK
- Оптимизация MySQL: индексы, медленные запросы, конфигурация
- Расстояние Левенштейна в MySQL и алгоритмы нечёткого поиска средствами PHP
- Во всём виноват PHP OPCache?
- Golang, PHP, Кинопоиск и Telegraph — Что их объединяет?
Занимательное
Спасибо за внимание!
Если вы заметили ошибку или неточность — сообщите, пожалуйста, в личку.
Вопросы и предложения пишите на почту или в твиттер.
Прислать ссылку
Поиск ссылок по всем дайджестам
← Предыдущий выпуск: PHP-Дайджест № 119
Автор: Роман Пронский