Хроники Yii3
625 subscribers
43 photos
1.7K links
Описание процесса разработки фреймворка из первых рук 😎

Обсуждение:
https://yangx.top/yii3ru

Сводка по всем пакетам:
https://www.yiiframework.com/status/3.0

Поддержать разработчиков:
https://opencollective.com/yiisoft
加入频道
#yiisoftErrorHandler #МинорныйРелиз #Релиз

🎁 Yii Error Handler 3.2

• Добавлен вывод трассировки для ошибок PHP (ранее она выводилась только для исключений).

• В мидлвари ExceptionResponder добавлена возможность вызвать у ответа метод getBody(), чтобы можно было отловить и обработать исключения, которые могут при этом возникнуть.
👍9👾2
#yiisoftErrorHandler #ПатчРелиз #Релиз

🎁 Yii Error Handler 3.2.1

• Добавлена поддержка пакета psr/http-message версии ^2.0.
🔥5👾3
#yiisoftErrorHandler #МинорныйРелиз #Релиз

🎁 Yii Error Handler 3.3

• Добавлена кнопка для копирования cURL-запроса.

• Отсортированы заголовки в информации о запросе.

• Упрощён код, генерирующий сообщения для лога ошибок.

• В трейсе добавлена возможность посмотреть полный список аргументов.

• Добавлена возможность настройки глубины регистрации shutdown-функции, вызывающей exit(1), по умолчанию — 2.

• Мелкие исправления в интерфейсе.
👍4🔥1👾1
#yiisoftErrorHandler #МажорныйРелиз #Релиз

🎁 Yii Error Handler 4.0

• На странице ошибки добавлен вывод кода исключения.

• В трейсе добавлены аргументы, передаваемые в функции и методы.

• Генерация ответа в мидлвари ErrorCatcher вынесена в отдельную фабрику ThrowableResponseFactory.

ErrorHandler теперь передаёт в логгер только сообщение об ошибки вместо вывода всего исключения.

• В конструкторе HtmlRenderer добавлены отдельные параметры для всех настроек, а параметр $settings помечен как устаревший.

• Минимальная версия PHP повышена до 8.1 и выполнен соответствующий рефакторинг.

• Ограничение версии PHP в composer.json изменено на ~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0.

• Для опциональных nullable-параметров явно прописан тип с null для совместимости с PHP 8.4.
👍6👾1
#yiisoftErrorHandler #МинорныйРелиз #Релиз

🎁 Yii Error Handler 4.1

• Добавлена новая фабрика ответа Yiisoft\ErrorHandler\ThrowableResponseFactory с поддержкой провайдеров рендереров.

Например, можно создать свой провайдер для запросов из библиотеки htmx:

final readonly class HtmxRendererProvider implements RendererProviderInterface
{
public function get(ServerRequestInterface $request): ?ThrowableRendererInterface
{
if ($request->hasHeader('Hx-Request')) {
return new PlainTextRenderer();
}

return null;
}
}


И добавить его в конфигурацию фабрики:

ThrowableResponseFactoryInterface::class => [
'class' => ThrowableResponseFactory::class,
'__construct()' => [
'rendererProvider' => DynamicReference::to(
static fn(ContainerInterface $container) => new CompositeRendererProvider(
new HeadRendererProvider(),
new HtmxRendererProvider(),
new ContentTypeRendererProvider($container)
)
)
],
],


Yiisoft\ErrorHandler\Factory\ThrowableResponseFactory помечен как устаревший.

• Рендереры ответа для исключений теперь добавляют в заголовки ответ тип содержимого.

• Исправлено отображение аргументов функции в тёмном режиме.
👍4👾1
#yiisoftErrorHandler #МинорныйРелиз #Релиз

🎁 Yii Error Handler 4.2

• В HtmlRenderer добавлен параметр $traceLink, позволяющий задать формат ссылки на файл в IDE. Параметр $traceHeaderLine помечен устаревшим.

• Добавлен PHP-атрибут #[UserException], которым можно помечать пользовательские исключения.

• Выполнен небольшой рефакторинг шаблонов.
👍3👾2