Дайджест PHP #7
Свежая подборка со ссылками на новости и материалы. В выпуске: PHP 7.3.0 alpha 1, Yii 3.0 alpha 1 и другие релизы, свежая книга по асинхронному PHP, видеозаписи докладов, порция полезных инструментов, и многое другое. Приятного чтения!
[sendpulse-form id=”278″]
Новости и релизы
- PHP 7.3.0 alpha 1 — Доступна для тестирования первая альфа-версия новой ветки PHP. Стартовал полугодовой цикл тестирования, финальный выпуск ожидается в конце ноября.
- Среди изменений:
• Улучшения Heredoc и Nowdoc синтаксиса RFC
• Функции json_encode() и json_decode() будут бросать исключение в случае ошибки и наличия соответствующего флага RFC
• Возможность использовать запятую после последнего аргумента функции RFC
• Новая функция hrtime(), которая возвращает время высокой точности и не зависит от системного времени PR
• Добавлена функция is_countable() для проверки на перечислимость RFC
• Использование ссылок в list() RFC
• Значительное улучшение сборщика мусора PR
и другие улучшения. Полный список изменений.
- Среди изменений:
- Phalcon 3.4.0
- Свежие новости PHP-FIG: апрель и май — PSR-5 (PHPDoc) разделен на два: о форматировании и каталог тегов, PSR-9 и PSR-10 (security) ожили с новым лидером, PSR-14 (Event Dispatcher) в процессе, PSR-17 (http factories) и PSR-18 (http clients) почти готовы для перехода в ревью.
- The State of Developer Ecosystem in 2018 — Отчёт JetBrains на основе опроса 6000 разработчиков.
Инструменты
- z7zmey/php-parser v0.5.0 — Продолжает развиваться парсер PHP реализованный на Go.
- nesk/rialto — Инструмент для управления ресурсами Node.js из PHP. Может быть использован для реализации взаимодействия с Node.js библиотеками.
- nesk/puphpeteer — Пример использования nesk/rialto, PHP-обертка для работы с GoogleChrome/puppeteer (Headless Chrome).
- RobThree/TwoFactorAuth — Двухфакторная аутентификация на основе одноразовых паролей TOTPили QR-кодов.
- OwenMelbz/forget-db — Простой инструмент для анонимизации (например для GDPR) данных в базе.
- gordalina/cachetool — CLI-инструмент для управления apc и opcache.
- digitaldonkey/ethereum-php — Типизированный интерфейс для Ethereum JSON-RPC API.
- SocialConnect/auth — Библиотека для аутентификации через соц. сервисы (OAuth1/2, OpenID, OpenIDConnect). 25+ провайдеров из коробки.
- xobotyi/rsync — Удобная обертка над rsync для PHP 7.1+.
- krakjoe/idbg — Отладчик для PHP, реализованный на PHP, пока, правда, требует расширение krakjoe/idbg. Пост с описанием.
Материалы для обучения
- Symfony 4.1.0 — Полный список всех изменений и улучшений.
- Symfony Console приложение с Dependency Injection
- Обзор Symfony компонента: Config
- Yii 3.0.0 alpha 1 — Команда Yii фреймворка следует semver, поэтому вместо релиза 2.1 в ближайшем времени ожидается 3.0. Тег первой альфы уже поставлен, ждем официального анонса.
- avto-dev/app-version-laravel — По умолчанию Laravel не имеет встроенного механизма для работы со значением версии приложения, и данный пакет предназначен восполнить данный недостаток.
- avto-dev/db-config-laravel — Пакет позволяет переопределять значения в конфиге приложения значениями из базы данных, сохраняя обратную совместимость.
- laravolt/avatar — Генератор аватарок по имени пользователя.
- gpressutto5/laravel-slack — Нотификации в Slack для Laravel.
- beyondcode/laravel-visual-diff — Пакет представляет возможность сравнивать снимки страниц между двумя запусками тестов.
- ReactPHP для начинающих — Свежая книга от Сергея Жука для новичков в мире асинхронных приложений на PHP. Доступна на русском и английском.
- Простой HTTP-сервер с помощью ReactPHP
- Топ-100 самых частоиспользуемых PHP-функций — Анализ 1900 популярных открытых проектов.
- Скоупы в PHPStorm — IDE позволяет группировать файлы и затем окрашивать их в дереве, а также затем искать по группам.
- Где и когда определять ID сущности — Интересный пост об использовании автоинкрементных ID базы и генерации идентификаторов в приложении.
- 30 seconds of php code — Короткие полезные сниппеты на PHP, которые можно понять за 30 секунд
- О паттерне Page Object Model
- Профилирование памяти в PHP с помощью XHProf
- Неполнотекстовый поиск: специфичные возможности Elasticsearch для сложных задач
- oraoto/pib — PHP in Browser – PHP скомпилированный в WebAssembly с помощью Emscripten.
Спасибо за внимание!