PHP-Дайджест № 125 (29 января – 11 февраля 2018)
Свежая подборка со ссылками на новости и материалы. В выпуске: Laravel 5.6 и другие релизы, свежие RFC из PHP Internals, порция полезных инструментов, и многое другое.
Приятного чтения!
Новости и релизы
- PHP 7.2.2
- PHP 7.1.14
- Laravel 5.6 — Добавлен nunomaduro/collision в качестве обработчика ошибок консольных команд, а также другие улучшения.
- Xdebug 2.6 — Добавлена поддержка PHP 7.2, приостановлена поддержка PHP 5, а также несколько новых возможностей.
- goaop/framework 2.2.0
- PHPUnit 7
- Новости PHP FIG #2–4: ноябрь 2017 — январь 2018
PHP Internals
- [RFC] Fiber — Предлагается реализовать стэкфул-корутины, по сути, замыкания, которые можно ставить на паузу и возобновлять. При этом планирование (scheduling) выполняется на стороне пользователя, а не VM. Данное улучшение упростит написание асинхронных приложений и сделает, при этом выглядящими совсем как синхронные. Уже доступно расширение, и даже примеры использования.
- [RFC] Deprecation of fallback to root scope — При использовании функций/классов внутри неймспейса, в случае если они не найдены, то будет попытка автоматически откатиться к глобальному скоупу. Предлагается упразднить данную возможность и бросать предупреждение:
namespace Bar; strlen(); // сначала попытка вызвать \Bar\strlen() // если не найдена, то будет вызвана \strlen() > Undefined function \Bar\strlen(), assumed \strlen()
- [RFC] Deprecate backtick operator — Предлагается задеприкейтить оператор кавычки
``
.
Инструменты
- Bogdaan/spycss — Отслеживаем действия пользователя с помощью CSS.
- daniilgrigorovabi/abimodelpattern — Операция «Ы» и новая библиотека ABI
- z7zmey/php-parser — Парсер PHP реализованный на Go.
- consistence/consistence — Библиотека обещает исправить ошибки консистентности в PHP. Подробнее в посте автора.
- PHPJuice/slopeone — Реализация алгоритма коллаборативной фильтрации Slope One.
- calcinai/phpi — Событийная библиотека для работы с Raspberry Pi GPIO.
- sroze/companienv — Полезный хелпер для работы с .env-файлами.
- Arrexel/phpbash — Полуинтерактивный PHP-шелл в одном файле.
- pascaldevink/shortuuid — Библиотека для PHP 7.1+ для генерации коротких UUID для использования в URL.
Материалы для обучения
- Symfony
- Неделя Symfony #579 (29 января — 4 февраля 2018)
- Неделя Symfony #580 (5–11 февраля 2018)
- Pull Request #26059 · symfony/symfony — Интересный пул-реквест, который обещает ускорение роутинга до x77.7 раз.
- Yii
- Vintage-web-production/yii2-search — Компонент для поиска в БД, используя модели Active Record для Yii2. Прислал @greefla.
- Продвинутый курс по PHP + Yii 2
- Laravel
- Стайл гайд и лучшие практики для Laravel
- GroupBy по нескольким значениям в Laravel
- PHP Antwerp — Паттерны проектирования Laravel
- tormjens/eventy — Система хуков и фильтров а-ля WordPress для Laravel.
- nunomaduro/laravel-console-menu — Красивые консольные меню для Laravel-команд.
- GeneaLabs/laravel-model-caching — Кэширование моделей Eloquent.
- Async PHP
- Асинхронный PHP: Зачем?
- ReactPHP вместе с RecoilPHP, ч.2, ч.3 — Использование recoilphp/recoil позволяет писать асинхронный код на основе корутин.
- CMS
- Более 2000 сайтов под управлением WordPress оказались поражены кейлоггером
- История взлома одного WordPress плагина — или о том, как вы допускаете уязвимости в своих проектах
- 29% вебсайтов уязвимы для DOS-атаки даже одной машиной (CVE-2018–6389)
- Руководство по безопасности WordPress
- Неделя WordPress: январь 2018
- Тестирование легаси PHP-скриптов
- Уменьшаем число вызовов функции с помощью DI и передачи контекста
- Vim в качестве PHP IDE — полное руководство
- Безопасная настройка Composer — Прислал falldi.
- Mockery: частичные двойники (mock’и)
- Обновляем расширение Intl в PHP 7 на Linux Ubuntu 16.04
- Как поднять проект на PHP в Docker под Windows
- Ваш пакет Composer сломан: обновите идентификатор лицензии
- Дружим gRPC с долгоживущим проектом, PHP и фронтендом
- Хочу как у YouTube — Об идентификаторах в распределенных системах.
- Numphp — работа с числовыми векторными массивами и матрицами
- Опыт веб-разработки при создании игры «Составь слова»
- Standards.REST — Коллекция стандартов и спецификаций для разработки API.
Аудио и видео
- Подкаст That Podcast #45: Еще раз об PSR-15
- Подкаст Three Devs & A Maybe: О симметричном и асимметричном шифровании со Scott Arciszewski (Paragon IE)
- Шифрование, аутентификация и целостность даных в PHP 7
Занимательное
- Ты это не твой фреймворк
- Arionum — Криптовалюта, реализованная на PHP.
Спасибо за внимание!
Если вы заметили ошибку или неточность — сообщите, пожалуйста, в личку.
Вопросы и предложения пишите на почту или в твиттер.
Прислать ссылку
Поиск ссылок по всем дайджестам
← Предыдущий выпуск: PHP-Дайджест № 124