Подборка свежих новостей, инструментов и материалов из мира PHP.
Приятного чтения!
Этот дайджест подготовлен совместно с Insolita. Если понравился выпуск, плюсаните пост, пожалуйста.
⚡️ Новости
- PHP version stats: January, 2022
Свежая статистика по версиям PHP по данным с packagist.org. Версия 8.1 вышла всего месяц назад, но уже набирает 9.1%. Однако, всё ещё очень много PHP 7.4 (44%).
Спасибо Пятиминутка PHP. - [RFC] User Defined Operator Overloads
Судя по ходу голосования предложение добавить перегрузку операторов в PHP не будет принято. Но автор заверил, что в таком случае выпустит реализацию в качестве расширения и продолжит работу.Ну а пока перегрузку операторов уже можно использовать с помощью lisachenko/z-engine. Вот пример реализации операторов для матриц: lisachenko/native-php-matrix
🛠 Инструменты
- viewi/viewi — Мощный инструмент для создания реактивных приложений используя только PHP и HTML.
По сути, это серверный шаблонизатор + фронтенд фреймворк. Но только все компоненты и всю логику вы описываете на PHP и HTML и затем они транспайлятся в нативный JS.
На сайте проекта viewi.net подробно описан механизм работы и есть примеры кода. Также можно пройти пошаговый туториал. - symfony/html-sanitizer — Новый компонент для очистки недоверенного HTML и защиты от XSS.
- Infection PHP 0.26.0 — Обновление фреймворка для мутационного тестирования на PHP. В новой версии добавлены HTML-отчеты, мутация только измененных строк, и другое.
- EventSaucePHP/ObjectHydrator — Библиотека для гидрации сырых данных (типа json) в объекты.
- Roach PHP — Библиотека для web-скрапинга, порт популярной Python-библиотеки Scrapy.
- Orangesoft-Development/backoff — Реализация алгоритма экспоненциальной выдержки (back-off algorithm).
- ajthinking/archetype — Пакет с простым интерфейсом для модификации PHP файлов/классов.
- framjet/php-enum-bitmask — Использование перечислений из PHP 8.1 как битовых масок.
- beyondcode/httpdump — Приложение на Laravel для отладки входящих HTTP-запросов (отладка веб-хуков и т.п.). Создает случайные URL и дампит в красивом виде все запросы к ним. Демо httpdump.app.
- ankitpokhrel/tus-php 1.0 — Реализация сервера и клиента tus.io открытого протокола возобновляемых загрузок файлов. Протокол используется, например, в Vimeo и Cloudflare.
Symfony
- Выложен в опенсорс инструмент symfony-cli
Кроме специфических для Symfony задач, инструмент включает веб-сервер, который можно использовать как современную альтернативу MAMP/WAMP: поддерживает нескольких версий PHP (в каждом проекте можно указывать свою), есть интеграция с Docker, локальные домены, автоматический HTTPS. Инструмент реализован на Go, поддерживается Linux, macOS и Windows. - Итоги года Symfony 2021
- Запущен новый сайт symfonystation.com. Там периодически публикуются дайджесты новостей по Symfony.
- Symfony Messenger 💛 systemd
- Use PHP Enums as Doctrine type in Symfony
- Build Symfony and Doctrine ORM Applications with ease using Ecotone
- 🇷🇺 Организация миграций Doctrine — Полезный совет от канала Пых (Валентина Удальцова).
Laravel
- rezaamini-ir/migrator — GUI-менеджер миграций. Позволяет создавать, удалять, запускать миграции из веб-интерфейса.
- getcandy/getcandy — E-commerce платформа на Laravel.
- Primitive Types in Controllers and Closure Routes
- How does Treblle scale on AWS without breaking the bank? — История масштабирования проекта на сервисах AWS и Laravel.
- 📺 45 советов и трюков по Laravel 2022
Yii
- Новости Yii 2021, выпуск 4 — итоги года.
- Подъехал еще один пакет из Yii 3: yiisoft/router.
📝 Статьи
- Как создавать поддерживаемые приложения на PHP и отвязать бизнес-логику от фреймворков.
- How we are adding Async PHP to our Stack — Обзор асинхронного PHP с плюсами и минусами подходов. В итоге остановились на RoadRunner + Symfony MicroKernel.
- Осмысление 8 уровней логирования в PHP — Скорее всего вам понадобятся только 4.
- Phabel vs. Rector — Что лучше для транспайлинга PHP-кода на более старые версии.
- “Yield” и деликатная работа с памятью в PHP — Статья слабая, а вот в комментариях толковые объяснения генераторов
- Создаем библиотеку на php и публикуем на packagist
- Иногда чтобы понять, что происходит в коде, может быть полезно посмотреть в генерерируемые опкоды. Поможет команда
phpdbg -p* file.php
.
📺 Аудио/Видео
- 🇷🇺📺 Пятиминутка PHP: Оптимизация производительности в Composer 2.2 — Почему новый Composer работает до 90% быстрее, и что делать если наоборот стало медленнее.
📣 Сообщество
- 🇷🇺📺
Опрос: Чем запомнился PHP в 2021 году? — Опрос еще можно пройти и получить призы участникам. - 🇷🇺📺 PHP и Laravel дайджест новостей за декабрь и итоги 2021 года на канале CutCode.
Подписывайтесь на Telegram-канал PHP Digest.
Этот дайджест подготовлен совместно с Insolita. Если вам понравился выпуск, подпишитесь на Юлию в твиттере и поставьте плюс в пост, пожалуйста.
Заметили ошибку или опечатку? Сообщите в личку хабра или телеграм.
Прислать ссылку можно через форму или просто напишите мне в телеграм.
Поиск ссылок по всем дайджестам
← Предыдущий выпуск: PHP-Дайджест №218
Автор: Роман Пронский