PHP Digest
8.54K subscribers
56 photos
3 videos
268 links
PHP Дайджест

Новости, материалы и инструменты из мира PHP — раз в месяц.

Вопросы, замечания, предложения: @pronskiy
Download Telegram
Forwarded from Пых (Валентин Удальцов)
🤝 PHP Foundation

С этого дня я ежемесячно перевожу $50 в фонд PHP.

PHP Foundation — это некоммерческая организация, миссия которой — обеспечить долгосрочное развитие PHP. Главный идеолог фонда — Роман Пронский, автор PHP Digest. Запуск проекта стал совместной инициативой JetBrains, Laravel, Symfony, Zend и других компаний.

На текущий момент фонд обработал заявки от разработчиков, которые хотят участвовать в разработке языка, и теперь решает юридические вопросы. Поэтому в графе расходов пока пусто — полноценная работа начнётся после согласования документов. Подробнее читайте в первом апдейте.

Больше о фонде:
216-ый выпуск PHP Дайджеста,
стрим к выходу PHP 8.1,
блог JetBrains,
Twitter проекта.

https://opencollective.com/phpfoundation
PHP Дайджест № 222 (7 – 21 февраля 2022)

Основное из дайджеста в телеграм-формате:

⚡️НОВОСТИ

🔹
PHP 7.4.28, PHP 8.0.16, PHP 8.1.3

Обновления актуальных веток PHP с фиксом уязвимости в php_filter_float(), а в 8.0 и 8.1 еще с пачкой других фиксов.

Для PHP 7.3 обновления уже не выходят, даже если обнаружены проблемы безопасности. И хотя данной уязвимости PHP 7.3 не подвержена, тем не менее если вы все еще используете эту версию, то лучше запланировать обновление в ближайшее время.


🔹 Ubuntu 22.04 LTS выйдет с PHP 8.1

Очередной релиз популярного Linux дистрибутива выйдет 21 апреля с предустановленным PHP версии 8.1.

В связи с этим предлагается поднять минимальную версию PHP в следующем релизе Symfony 6.1. А для Drupal 10 это уже сделали.


🔹 PhpStorm 2022.1 EAP

Продолжается программа раннего доступа первого мажорного релиза IDE в этом году. Сделали поддержку многострочных и вложенных аннотаций array shape! Можно использовать как в виде PHPDoc, так и в виде атрибута #[ArrayShape].


🔹 [RFC] Redacting parameters in back traces

На голосовании предложение добавить аттрибут #[SensitiveParameter] для предотвращения отображения конфиденциальныx данных в отладочных логах.


🔹 [RFC] Undefined Variable Error Promotion

Автор ранее предложил в PHP 9 перевести многие оставшиеся предупреждения (WARNING) в полноценные исключения. Такое уже раньше делали в PHP 8.0.

Ну а начать решил с использования необъявленных переменных. Сейчас в этом случае бросается Warning и используется значение null.


🔹 [RFC] Allow null and false as stand-alone types

Предлагается добавить возможность использовать null и false в декларациях типов.
Во-первых, это недостающие куски для полноты системы типов в PHP — есть mixed, добавили never, объединения и пересечения, не хватает юнит-типа.
Во-вторых, такие типы позволят покрыть некоторые граничные случаи и улучшить статический анализ.


🔹 Вышел Laravel 9

Есть отличные обзоры:
📺 Короткий видеообзор на русском от CutCode
🇷🇺 9 интересных новшеств в Laravel 9 — В тексте
📺 Laracasts: What's New in Laravel 9 — Подробно на видео


🔹 Shopware получили $100 млн инвестиций от PayPal и Carlyle

Открытая е-commerce платформа на базе Symfony поднимает хорошие деньги, пока кто-то говорит, что PHP мертв. Ранее в 2020 $130 млн получили Spryker — другая e-com платформа на PHP.
Обе компании, кстати, поддерживают фонд PHP.


🌀 РАЗНОЕ

🔸 Brent Roose: Service locator: an anti-pattern

🔸 Как помочь с релизом Yii 3 — Статья Виктора Бабанова из core-команды Yii3 подробно рассказывает как помочь фреймворку кодом, даже если вы никогда раньше этого не делали.

🔸Пых: fromName для enum — Про методы fromName и tryFromName для получения перечисления любого типа по его имени ($name).

--

👉 Больше новостей и ссылок в полном дайджесте на Хабре, а также инструменты и ссылки по фреймворкам.

Дайджест подготовлен совместно с Insolita.

🐘
Друзья, сегодня Юлия Insolita ушла из жизни.

Юля была активным участником нашего PHP-сообщества, помогала со стримами, митапами, конференциями и до последнего дня помогала делать PHP-дайджест.

Последние несколько месяцев Юля боролась с болезнью, но к сожалению победить ее не получилось.
Пусть земля будет Юле пухом.

Друзья, берегите себя и близких, будьте здоровы.
Что дальше с PHP Дайджестом

PHP Дайджест на Хабре я вел 9 лет и 5 месяцев. Вот так выглядел первый выпуск: https://habr.com/ru/company/zfort/blog/153769/

Война в Украине и бомбардировки Харькова, где я жил, сильно поменяли жизнь. Пока писать в прежнем формате нет желания и возможности.

Зато инициативу подхватил Сергей Пантелеев! Все последующие посты на канале PHP Дайджест по умолчанию будут от Сергея. Вот чем занимается Сергей в мире PHP:

🔹 Релиз-менеджер PHP 8.2
🔹 Мейнтейнер русской документации PHP
🔹 Помогает с разработкой сайта thephp.foundation
🔹 Помогает с PHP Annotated
🔹 Один из переводчиков книги Symfony 5: The Fast Track
🔹 Организатор BeerPHP Yaroslavl


Ну а меня можно найти тут:

🔸 Твиттер @pronskiy – пишу только про PHP
🔸 PHP Foundation – в блоге фонда PHP пишу отчеты для спонсоров каждый месяц
🔸 Блог PhpStorm – там выходит PHP Annotated

Всем мира.
Поддержка Laravel 8

В Laravel 8 теперь будут исправления только связанные с безопасностью. Полная поддержка прекратится 24 января 2023 года, рекомендуется обновиться до 9 версии.

#Laravel
Дерик (автор Xdebug) проводит опрос о дальнейшем развитии DateTime:
https://twitter.com/derickr/status/1551611856007069696

Перевод: Сделать класс DateTime изменяемым было одной из самых больших ошибок в API модуля Date/Time.
Я думаю изменить DateTime так, чтобы он был иммутабельным по умолчанию в PHP 9 и отказаться от класса DateTimeImmutable (или сделать псевдонимом).
Вероятно, это сломает чей-то код.
Разработка Yii3, 22-28 июля

Сделали первый стабильный релиз Yii Sentry. В демо API-приложения добавили пример использования очередей Yii Queue. Продолжаем активную работу над валидатором и DB-пакетами и дебаггером.

🎁 Yii Sentry 1.0.0 — интеграция с Sentry, сервисом для сбора и агрегации логов, и другими совместимыми с Sentry API инструментами (например, GlitchTip).

🎁 Yii View 6.0.0
🎁 Yii View Extension 4.0.0
Доработали ViewInterface: добавили метод, позволяющий задать корневую директорию с представлениями, и переименовали *language методы в *locale.

🎁 Yii Mailer Library 4.0.0
🎁 Yii Mailer Symfony Mailer Extension 2.0.0
Добавили метод MailerInterface::withLocale() для установки локали и поддержку 6й версии symfony/mailer.

🎁 Yii Console 1.2.0
Добавили возможность конфигурации команды serve (адрес, порт, корневая директория и точка входа).

🎁 Yii Cache File Handler 2.0.0
Подняли версию PHP до ^8.0, а версию PSR-интерфейсов psr/simple-cache до ^2.0|^3.0.



За подборку спасибо Сергею Предводителеву 💙
Вышел PhpStorm 2022.2 🎉

🔹 Добавлена поддержка Mockery
🔹 Добавлена поддержка Rector
🔹 Улучшена работа с дженериками
🔹 Улучшения UX
🔹 И многое другое!

https://www.jetbrains.com/ru-ru/phpstorm/whatsnew/2022-2/
PHP Core Roundup #4

PHP Core Roundup — серия постов в блоге PHP Foundation об изменениях, улучшениях и новых возможностях PHP от Ayesh Karunaratne — автора PHP.watch

https://thephp.foundation/blog/2022/07/28/php-core-roundup-4/
PHP Foundation Update, July 2022

Вышел ежемесячный отчёт PHP Foundation для спонсоров

https://thephp.foundation/blog/2022/08/04/php-foundation-update-july-2022/
Forwarded from Пых (Валентин Удальцов)
🏫 Мой продвинутый курс по PHP

Я уже пару лет мечтаю о том, чтобы масштабно и комплексно поделиться знаниями, и наконец-то мне представилась возможность записать свой продвинутый курс по PHP! Огромное спасибо Loftschool за предложение посотрудничать!

Осенью мы начнём работу над курсом, а пока приглашаю вас посмотреть мастер-класс про паттерн middleware, который я записал в качестве пролога.

https://youtu.be/yMrbatAM3bw
Разработка Yii3, 29 июля — 4 августа

⚡️Обновления

Yii Debug, Yii Debug API, Yii Debug Viewer
• Добавлена возможность исключать консольные команды из отслеживания.
• Реализован сбор информации об очередях.
• Реализована базовая версия инспектора приложения. Сейчас инспектор позволяет посмотреть конфигурации объектов контейнера и параметры конфигурации приложения, но в дальнейшем планируется расширить его возможности (просмотр дампа любого объекта из контейнера, просмотр конфигурации окружений, запуск консольных утилит psalm, phpunit, deptrac и т. д.)

Yii Cycle ORM
• Ветка с поддержкой Cycle ORM 2 стала основной.
• Добавлена поддержка psr/simple-cache версий ^2.0 и ^3.0.
• Добавлен генератор, обрабатывающий наследование таблиц.

Демо веб-приложения
• В LocaleMiddleware добавлена поддержка HTTP (ранее корректно работало только с HTTPS).
• Улучшен вывод консольной команды router/list.

Демо API-приложения
• Добавлен дебаггер.


Новые пакеты

yiisoft/app-console — шаблон для консольного приложения.


🎁 Релизы

Yii Console 1.3.0
• Событие запуска приложения теперь может содержать имя запускаемой консольной команды.

Yii Console Runner 1.1.0
• Реализована передача имени запускаемой команды в событие запуска приложения.

Yii Runner 1.2.0
• Объект с конфигурацией контейнера добавлен в сам контейнер. Это потребовалось для реализации инспектора в дебаггере.

Yii Swagger 1.2.2
• Добавлена поддержка yiisoft/cache версии ^2.0.


Сводка подготовлена по информации канала «Хроники Yii3».
PHP Annotated – Август 2022

Вышел августовский выпуск PHP Annotated от JetBrains с самыми интересными событиями, произошедшими в мире PHP за последний месяц.

https://blog.jetbrains.com/phpstorm/2022/08/php-annotated-august-2022/
Дайджест PHP – Сентябрь 2022

Подборка свежих новостей, инструментов, видео и материалов из мира PHP. Приятного чтения!

⚡️ НОВОСТИ

🔹 Вышел PHP 8.2 RC 3

Очередная версия RC была выпущена по расписанию. RC4 – ожидается 13 октября.

Подробно про все изменения в PHP 8.2 можно прочитать на сайтах PHP.Watch или stitcher.io.

🔹 Вышли PHP 7.4.32, PHP 8.0.24 и PHP 8.1.11

❗️Это выпуски с исправлением проблем безопасности. Всем пользователям рекомендуется обновиться.

🔹 Доступен PhpStorm 2022.3 EAP!

Вот что вы уже можете попробовать в рамках программы раннего доступа PhpStorm:
- Новой интерфейс (пока в бета-режиме, но доступен всем по опции в настройках)
- Полная поддержка PHP 8.2
- Предварительный просмотр быстрых исправлений
- И многое другое

🐘 ЯДРО PHP

Большинство новостей ядра подробно освещаются в серии PHP Core Roundup от PHP Foundation, поэтому лишь кратко пробежимся:

📊 RFC: json_validate #PHP 8.3

В этом RFC Juan Carlos Morales предлагает добавить новую функцию json_validate(), которая проверяет, является ли строка корректным JSON.

🤔 RFC: Improve unserialize() error handling #PHP 8.3

Tim Düsterhus предлагает бросать исключение UnserializationFailedException в случае ошибки сериализации.

🤔 RFC: StreamWrapper Support for glob() #PHP 8.3

Timmy Almroth предлагает реализовать в StreamWrappers поддержку функции glob().

🔹RFC: Deprecations for PHP 8.3

RFC со списком того, что предлагается объявить устаревшими в PHP 8.3 и удалить в PHP 9.

🛠 ИНСТРУМЕНТЫ

🔹play.phpsandbox.io – Попробуйте пакеты Composer прямо в браузере, ничего не устанавливая.

🔹cspray/annotated-container – Dependency Injection framework для конфигурирования контейнера PSR-11 с атрибутами.

🔹openai-php/client – Клиент для API OpenAI.
Существует также orhanerday/open-ai, если вам нужна альтернатива для доступа к API OpenAI GPT-3.

⚫️ SYMFONY

🔹Вышел symfony/webpack-encore 4.0.0. Некоторые зависимости (например, webpack) были перенесены из Encore в проект.

🔹StenopePHP/Stenope – Инструмент создания статических веб-сайтов для Symfony. Вы можете создать полноценное приложение Symfony, а затем развернуть его в виде статической страницы в любом удобном для вас месте.

🔴 LARAVEL

🔹ksassnowski/venture 4.0.0 – Пакет для создания и управления сложными асинхронными рабочими процессами в приложениях Laravel.

🔹spatie/laravel-model-info – Пакет для получения информации обо всех моделях.

🔹YorCreative/Laravel-Scrubber – Пакет для очистки конфиденциальной информации, нарушающей политики операционной безопасности, от случайной или неслучайной утечки разработчиками. Подробнее об использовании.

👨‍🏫 Laracon Online – Видеозаписи всех докладов с онлайн конференции по Laravel.
Тейлор представил Laravel Bootcamp – новый обучающий сайт по Laravel.

🟢 ДРУГИЕ ФРЕЙМВОРКИ

🔹Вышел spiral/framework 3.0.0 – Большое обновление фреймворка от создателей RoadRunner.

🔹Вышел Phalcon PHP Framework 5.0 – Подробный список нововведений приведён в документации.

🔹Вышел api-platform/api-platform 3.0 – Фреймворк построен поверх Symfony и позволяет создавать REST и GraphQL API и многое другое.

🔹Appwrite 1.0 – Крупный стабильный выпуск решения с открытым исходным кодом backend-as-a-service.

🔹Вышли обновления пакетов Yii Strings 2.1.0, Yii Middleware Dispatcher 3.0.0, Yii Profiler 2.0.0, Yii Message Translator 1.1.1, Yii Cache File Handler 2.0.1.
Более подробно новости Yii освещаются в канале «Хроники Yii3».

📄 СТАТЬИ

🔹Как мы решаем проблемы со склонением слов для задач seo-оптимизации с помощью phpMorphy от Александра Корабельникова.

🔹PHP: атрибуты vs аннотации: оптимизируем метадату Doctrine от Романа Ушакова.

🔹Выходя за рамки ООП. Разработка расширений для PHP на PHP от Александра Макарова.



Ещё больше новостей и ссылок в сентябрьском выпуске PHP Annotated от JetBrains 💜

🎬 Дайджест PHP в видео-формате на канале CutCode