Дайджест PHP #11
Свежая подборка со ссылками на новости и материалы. В выпуске: PHP 7.3.0 Beta 1, PhpStorm 2018.2, Composer 1.7 и другие релизы, принят стандарт PSR-17, обзор Yii 3.0, альтернативная реализация Fiber API для асинхронных приложений, порция полезных инструментов, и многое другое.
Приятного чтения!
[sendpulse-form id=”278″]
Новости и релизы
- PHP 7.3.0 Beta 1 — С первым бета-релизом заканчивается фаза активной разработки, а значит список новых возможностей и изменений в ветке 7.3 можно считать финальным. Следующая бета ожидается 16 августа.
- PhpStorm 2018.2
• Улучшенное автодополнение с учетом пространств имен
• Структурный поиск и замена
• Кастомные шаблоны постфиксного дополнения
• Обновленный интерфейс и поддержка touch bar
• а также новые инспекции и другие улучшения. - PSR-17: HTTP Factories — Официально принят стандарт, регламентирующий интерфейсы фабрикдля создания HTTP-объектов, совместимых с PSR-7.
- PHP 7.2 доступен на Google Cloud Platform
- PHPUnit 7.3 — Среди изменений возможность сначала запускать тесты, которые упали в предыдущем запуске.
- Composer 1.7.0
Инструменты
- spiral/roadrunner — Высокопроизводительный сервер приложений, балансировщик нагрузки и менеджер процессов для PHP реализованный на Go. Можно использовать для запуска PHP на AWS Lambda.
- codeplea/ahocorasickphp — Реализации алгоритма Ахо — Корасик для поиска множества подстрок в строке. Быстрее чем вызов
strpos()
несколько раз, и намного быстрее чем вызовpreg_match_all()
. - chekalskiy/php-bank-db — Библиотека для определения банка по номеру карты.
- igniphp/framework — Легковесный фреймворк с поддержкой PSR-15, PSR-7, а также запуском на Swoole.
- spatie/phpunit-snapshot-assertions — Инструмент для реализации снэпшот-тестирования на PhpUnit. Сравнивает результаты тестов с предыдущим запуском.
- zendframework/zend-problem-details — Реализует поддержку стандарта “RFC 7807 Problem Details for HTTP API” для PSR-7-приложений, который регламентирует ответы об ошибках.
- formapro/pvm — Мощная библиотека для описания workflow, бизнес-процессов, и просто конечных автоматов. Доступен UI для визуализации.
- Rican7/incoming — Библиотека призвана конвертировать сырые входные данные из любых источников, в строго-типизированные структуры.
- rezozero/mixedfeed — Библиотека позволяет объединить ленты различных социальных сервисов в один фид.
- KikApp — Инструмент позволяет писать нативные приложения для iOS и Android на PHP.
Материалы для обучения
- LEMP стек c PHP 7 на CentOS 7 + Let’s Encrypt в Google Cloud для развертывания приложения Symfony 4
- Обзор изменений в Yii 3.0
- yiigist.com
- Миграция с yii1 на yii2
- imanghafoori1/laravel-heyman — Авторизация и валидация естественным языком.
- tillkruss/alfred-laravel-docs — Поиск по документации Laravel с помощью Alfred.
- digitaldreams/laracrud — Генератор CRUD-приложения по имеющейся схеме БД
- Статистика Laravel приложений — на основе данных из Laravel Shift.
- Стайл гайд и лучшие практики для Laravel
- concurrent-php/ext-async — Активно разрабатывается альтернативная реализация fiberphp/fiber-ext. Помимо низкоуровневого Fiber API, в расширении реализована дополнительная функциональность по управлению асинхронными задачами.
- Книга «Изучаем Асинхронный PHP с ReactPHP» — Теперь и на русском.
- Месяц WordPress: июль 2018
- Magento Tech Digest #25: July 16 – 30, 2018
- Никогда не используйте тайп-хинт array
- Об использовании TOML — продвинутый формат для конфигурационных файлов.
- Бенчмарки типичных кусков кода в PHP — Одинарные кавычки против двойных, магические методы, JSON vs XML, исключения, и т.п.
- О создании бекдора в виде PHP-расширения
Занимательное
Спасибо за внимание!