Приветствую всех!
Добро пожаловать в августовский выпуск PHP Annotated, где мы расскажем о самых интересных событиях, произошедших в мире PHP за последний месяц, включая новости, статьи, инструменты и видео.
Новости
- Выпущена бета-версия PHP 8.2 3
Финальная бета-версия была выпущена в соответствии с графиком. Следующий релиз – PHP 8.2.0 RC 1, который, как ожидается, будет выпущен 1 сентября. Узнайте, как работать с устаревшими динамическими свойствами в PHP 8.2. Подробный список того, что появится в PHP 8.2, см. в разделе PHP.Смотреть или stitcher.io .Кроме того, ознакомьтесь с новостной рассылкой flash, The Road to PHP 8.2. - Выпущены PHP 8.0.22 и PHP 8.1.9
🪲 Это версии с исправлением ошибок в поддерживаемых в настоящее время ветках. - Обновление PHP Foundation, июль 2022
Следите за ежемесячными обновлениями для спонсоров. - Вышел Composer 2.4
Добавлен аудит зависимостей для обеспечения безопасности, доработки bash и множество мелких дополнений. Подробнее о двух новых командах: audit и bump. - deployphp / deployer 7.0.0
Deployer – это инструмент развертывания, написанный на PHP с поддержкой популярных готовых фреймворков. Одним из самых больших изменений в версии 7 является новый функционал, который может автоматически устанавливать и настраивать любой VPS для запуска вашего PHP-приложения. Он установит веб-сервер, SSL, PHP, Redis, node и другие. - Codeception / Codeception 5.0.0
Атрибуты, поддержка PHP 8, сегментирование и другие функции! - swoole / swoole-src 5.0.0
Новая версия расширений параллелизма поставляется с улучшенной системой типов, добавленными типами для параметров и возвращаемых значений всех функций, оптимизированной обработкой ошибок и другими улучшениями и дополнениями. - Выпущен PhpStorm 2022.2
Это крупное обновление обеспечивает поддержку Mockery и Rector, расширенную поддержку обобщений и перечислений, улучшения в отладчике и HTTP-клиенте и многое другое.Посмотрите видео-обзор 🎬 Что нового в PhpStorm 2022.2. Также мы только что опубликовали дорожную карту PhpStorm 2022.3.
Ядро PHP
Большая часть основных новостей подробно освещается в серии обзоров PHP Core от PHP Foundation. Скоро выйдет пятый эпизод этой серии, поэтому мы упомянем его лишь вкратце:
- RFC: асимметричная видимость #PHP 8.3
Ранее Никита Попов предложил реализовать средства доступа к свойствам в стиле C #. Этот RFC так и не прошел стадию обсуждения. Вместо этого были утверждены свойства только для чтения. На этот раз Илия Товило и Ларри Гарфилд предлагают добавить синтаксис, подобный Swift, чтобы свойства имели отдельную (“асимметричную”) видимость для операций чтения и записи.class Foo{ public private(set) string $bar, }
Некоторые заметки от Ларри:- Это исправило бы проблему с возможностью клонирования свойств только для чтения.
- Это исправило бы наследование с помощью только для чтения. В нынешнем виде доступ только для чтения можно настроить только из частной области, но не из защищенной области.
- Это было бы полезно для свойства, которое перестраивается из других свойств. Например,
public private(set) $fullName
, который обновляет внутренне$o->setFirstName()
или$o->setLastName()
. В будущем это может быть применимо к хукам доступа (accessor hooks), которые находятся в дорожной карте.
Инструменты
- serversideup / docker-php – Готовые к работе образы докеров для PHP. Оптимизирован для Laravel, WordPress и других.
- Crell / Serde – надежная библиотека Serde (сериализация / десериализация) для PHP 8. Подробнее читайте во вступительном посте Ларри Гарфилда.
- statix-php / server – объектно-ориентированная оболочка вокруг встроенного сервера PHP.
- aimeos / map – упрощенные PHP-массивы и коллекции. Еще один пакет коллекций, подобный Laravel, но с нулевыми зависимостями.
- hotmeteor / spectator – тестирование OpenAPI для PHP.
- DaveLiddament / sarb – Инструмент предоставляет базовую функциональность для статических анализаторов PHP. В версии v1.5.0 он предоставляет
--clean-up
опцию. Здесь перечислены пять случайных проблем из базового уровня, которые необходимо исправить для постепенного улучшения качества кода. - leafsphp / leaf – простой, но мощный микро-фреймворк для быстрого создания веб-приложений и API.
- pheature-флаги /pheature-flags – система управления релизами, которая позволяет активировать и деактивировать определенные функции в контролируемых условиях.
- gakowalski/alternative-interpreters – список альтернативных интерпретаторов PHP, компиляторов и транспиляторов.
Symfony
- symfony /clock – это новый компонент для отделения приложений от системных часов.Его выпуск вызвал короткий твит-шторм, обвиняющий Symfony в империализме фреймворка
- 8 Новостей в Config Transformer, который преобразует Symfony YML в PHP от Томаса Вотрубы.
- Шаблон репозитория the SOLID way в Symfony от Saeid Raei.
- Как применить шестиугольную / чистую / луковую архитектуру всего с двумя изменениями к вашему проекту symfony от Saeid Raei.
- Тестирование Symfony: использование шаблона репозитория без подключения к базе данных от Saeid Raei.
- Вуаля! Symfony и PHP 8.1 от Мерта Симсека.
- Оформление команд Майклом Зангерле.
- Очистите свои миграции!: Виктор Бочарский.
Ларавель
- 🎬 Что нового в Laravel 9.23.0, Laravel 9.24.0, Laravel 9.25.0 – посмотрите эту новую серию YouTube от Кристофа Румпеля, где он дает краткий обзор обновлений Laravel.
- protonemedia / laravel-splade – магия Inertia.js с простотой Лезвия.
- Sairahcaz / laravel-xhprof – Простая настройка XHProf для профилирования вашего приложения Laravel.
- BinarCode / laravel-restify – самый быстрый способ создать мощный Rest API, совместимый с JSON: API, с Laravel.
- метод
setRelation
для повышения производительности с помощью Eloquent от Freek Van der Herten. - Как я разрабатываю приложения с помощью Laravel, Стив (Кинг) Макдугалл.
- Масштабирование Laravel до 100 млн заданий и 30 000 запросов в секунду Матеусом Гимарайншем.
- Как безопасно и эффективно обновить устаревшее приложение Laravelот Джеймисона Валенты
- Проблемы при переносе приложений Laravel в AWS Lambda от Марко Делеу.
- 🎬 5-часовой учебник по Laravel 9 для начинающих.
Разное
- Бессерверные PHP-приложения для функций Digital Ocean от Ayesh Karunaratne.
- Сужение типов для статического анализа от Jordi Boggiano – несколько уроков, которые Джорди усвоил в процессе переноса нескольких больших старых кодовых баз, включая Composer, на 8-й уровень PHPStan.
- Руководство по PHP – Изучение PHP для начинающих от Флавио Копеса.
- Разница между трейтами, интерфейсами и абстрактными классами в PHP Эндрю Шмелюна.
- Когда использовать трейты?: Маттиас Нобак.
- Прекратите использовать “static” в PHP и прекратите использовать “extends” в PHP Майк Жуковски.
- 100 функций PHP в 2022 году Дэмиена Сеги.
- Краткий справочник по встроенным атрибутам PHP от Дэмиена Сеги – Сколько основных атрибутов вы можете назвать?
- Простые решения 1 – ActiveRecord vs Data mapperот Маттиаса Нобака.
- 3 года перехода на AWS Lambda Марко Орелио Делеу – предостережения, на которые следует обратить внимание при использовании AWS Lambda в качестве хостинг-провайдера PHP.
- Действительно ли генераторы сокращают использование памяти?
- Что бы я изменил в PHP, Брент Руз.
Аудио / Видео
- 🎬 Почему вам нужно обновить PHP: Брент Руз.
- 🎬 PHP 101 для абсолютных новичков – полный 2-часовой курс.
Конференции
Очные мероприятия наконец-то вернулись! Этой осенью состоится несколько крупных мероприятий, которые стоит посетить и подать заявку на CFP:
- ForumPHP – Disneyland Paris (France), October 13–14.
- International PHP Conference – Munich (Germany), October 24–28.
- Longhorn PHP – Austin, TX (US), November 3–5.
- SymfonyCon – Disneyland Paris (France), November 17–18.
Сообщество
- “Номенклатура ненависти” Джорди Богджано.
Поддерживать проекты с открытым исходным кодом сложно. И не только потому, что нужно что-то исправлять, но и иметь дело с разочарованными пользователями. Просто проверьте несколько примеров, собранных Александром Макаровым: samdark/opensource-hate. - asgrim / side-effect – фреймворк, который делает все в
__toString()
методе [trollface].
На сегодня это все, спасибо за внимание!
Если у вас есть какие-либо интересные или полезные ссылки для PHP дайджеста, пожалуйста, оставьте комментарий на странице оригинальной стать или отправьте твит автору.
Roman Pronskiy