⚡️ Практически во всех пакетах добавлен ежедневный запуск тестов через GitHub Workflow.
#yiisoftCacheWincache #yiisoftView #yiisoftDi #yiisoftStrings #yiisoftRbacPhp #yiisoftYiiConsole #yiisoftCache #yiisoftDb #yiisoftRbac #yiisoftYiiAuthClient #yiisoftYiiGii #yiisoftViewTwig #yiisoftYiiWeb #yiisoftDbMssql #yiisoftDbOracle #yiisoftLog #yiisoftYiiDebug #yiisoftDbSqlite #yiisoftDbPgsql #yiisoftDbMysql #yiisoftEventDispatcher #yiisoftI18n #yiisoftYiiEvent #yiisoftYiiDbMigration #yiisoftValidator #yiisoftUser #yiisoftTranslatorMessageGettext #yiisoftSecurity #yiisoftMiddlewareDispatcher #yiisoftMutex #yiisoftNetworkUtilities #yiisoftProfiler #yiisoftProxy #yiisoftRequestBodyParser #yiisoftRouterFastroute #yiisoftInjector #yiisoftCacheApcu #yiisoftAuthJwt #yiisoftAuth #yiisoftAssets #yiisoftArrays #yiisoftAliases #yiisoftDemoApi #yiisoftDemo #yiisoftDataResponse #yiisoftData #yiisoftCsrf #yiisoftCookies #yiisoftConfig #yiisoftCacheMemcached #yiisoftCacheFile #yiisoftHttp #yiisoftHtml #yiisoftFiles #yiisoftFactory #yiisoftErrorHandler #yiisoftLogTargetDb #yiisoftLogTargetEmail #yiisoftLogTargetFile #yiisoftRequestModel #yiisoftRbacSpiralDb #yiisoftRateLimiter #yiisoftPackageTemplate #yiisoftMutexRedis #yiisoftMutexPdoPgsql #yiisoftMutexPdoOracle #yiisoftMutexFile #yiisoftMutexPdoMysql #yiisoftTranslatorFormatterSimple #yiisoftTranslatorFormatterIntl #yiisoftTranslatorExtractor #yiisoftTranslator #yiisoftTestSupport #yiisoftSession #yiisoftRouter #yiisoftRequirements #yiisoftTranslatorMessageDb #yiisoftTranslatorMessagePhp #yiisoftVarDumper #yiisoftWidget #yiisoftYiiBootstrap5 #yiisoftYiiBulma #yiisoftYiiCycle #yiisoftYiiDataview #yiisoftYiiDebugApi #yiisoftYiiDebugViewer #yiisoftMailerSwiftmailer #yiisoftMailer #yiisoftLogTargetSyslog #yiisoftJson #yiisoftForm #yiisoftYiiWidgets #yiisoftYiiView #yiisoftYiiSwagger #yiisoftYiiSentry
#yiisoftCacheWincache #yiisoftView #yiisoftDi #yiisoftStrings #yiisoftRbacPhp #yiisoftYiiConsole #yiisoftCache #yiisoftDb #yiisoftRbac #yiisoftYiiAuthClient #yiisoftYiiGii #yiisoftViewTwig #yiisoftYiiWeb #yiisoftDbMssql #yiisoftDbOracle #yiisoftLog #yiisoftYiiDebug #yiisoftDbSqlite #yiisoftDbPgsql #yiisoftDbMysql #yiisoftEventDispatcher #yiisoftI18n #yiisoftYiiEvent #yiisoftYiiDbMigration #yiisoftValidator #yiisoftUser #yiisoftTranslatorMessageGettext #yiisoftSecurity #yiisoftMiddlewareDispatcher #yiisoftMutex #yiisoftNetworkUtilities #yiisoftProfiler #yiisoftProxy #yiisoftRequestBodyParser #yiisoftRouterFastroute #yiisoftInjector #yiisoftCacheApcu #yiisoftAuthJwt #yiisoftAuth #yiisoftAssets #yiisoftArrays #yiisoftAliases #yiisoftDemoApi #yiisoftDemo #yiisoftDataResponse #yiisoftData #yiisoftCsrf #yiisoftCookies #yiisoftConfig #yiisoftCacheMemcached #yiisoftCacheFile #yiisoftHttp #yiisoftHtml #yiisoftFiles #yiisoftFactory #yiisoftErrorHandler #yiisoftLogTargetDb #yiisoftLogTargetEmail #yiisoftLogTargetFile #yiisoftRequestModel #yiisoftRbacSpiralDb #yiisoftRateLimiter #yiisoftPackageTemplate #yiisoftMutexRedis #yiisoftMutexPdoPgsql #yiisoftMutexPdoOracle #yiisoftMutexFile #yiisoftMutexPdoMysql #yiisoftTranslatorFormatterSimple #yiisoftTranslatorFormatterIntl #yiisoftTranslatorExtractor #yiisoftTranslator #yiisoftTestSupport #yiisoftSession #yiisoftRouter #yiisoftRequirements #yiisoftTranslatorMessageDb #yiisoftTranslatorMessagePhp #yiisoftVarDumper #yiisoftWidget #yiisoftYiiBootstrap5 #yiisoftYiiBulma #yiisoftYiiCycle #yiisoftYiiDataview #yiisoftYiiDebugApi #yiisoftYiiDebugViewer #yiisoftMailerSwiftmailer #yiisoftMailer #yiisoftLogTargetSyslog #yiisoftJson #yiisoftForm #yiisoftYiiWidgets #yiisoftYiiView #yiisoftYiiSwagger #yiisoftYiiSentry
#yiisoftYiiWeb #yiisoftHttp #МинорныйРелиз #yiisoftErrorHandler #МажорныйРелиз #Релиз
🎁 Yii HTTP 1.2.0
🎁 Yii Error Handler 2.0.0
Хелперы для работы преобразования строки с заголовками в более удобные для работы массивы перенесены из пакетов Yii Web (PR) и Yii Error Handler (PR) в пакет Yii HTTP (PR).
Примеры использования:
Соответствующие изменения внесены в пакеты и приложения:
Шаблон веб-приложения (PR),
Шаблон API-приложения (PR),
Демо веб-приложения (PR),
Демо API-приложения (PR),
Yii Auth (PR),
Yii Request Body Parser (PR),
Yii Data Response (PR),
Yii CSRF Protection Library (PR),
Yii Rate Limiter Middleware (PR),
Yii Cookies (PR),
Yii Web Runner (PR).
🎁 Yii HTTP 1.2.0
🎁 Yii Error Handler 2.0.0
Хелперы для работы преобразования строки с заголовками в более удобные для работы массивы перенесены из пакетов Yii Web (PR) и Yii Error Handler (PR) в пакет Yii HTTP (PR).
Примеры использования:
use Yiisoft\Http\HeaderValueHelper;#yiisoftApp #yiisoftAppApi #yiisoftDemo #yiisoftDemoApi #yiisoftAuth #yiisoftRequestBodyParser #yiisoftDataResponse #yiisoftCsrf #yiisoftRateLimiter #yiisoftCookies #yiisoftYiiRunnerWeb
// Result: ['a' => '1', 'b' => '2']
HeaderValueHelper::getParameters('a=1;b=2');
// Result: ['value', 'a' => '1', 'b' => '2']
HeaderValueHelper::getValueAndParameters('value;a=1;b=2'));
// Result: [['value2', 'q' => 1.0], ['value1', 'q' => 0.2]]
HeaderValueHelper::getSortedValueAndParameters('value1;q=0.2,value2'));
// Result: ['text/xml', 'text/html']
HeaderValueHelper::getSortedAcceptTypes('text/html;q=0.2,text/xml;q=0.4'));
⚡️
Соответствующие изменения внесены в пакеты и приложения:
Шаблон веб-приложения (PR),
Шаблон API-приложения (PR),
Демо веб-приложения (PR),
Демо API-приложения (PR),
Yii Auth (PR),
Yii Request Body Parser (PR),
Yii Data Response (PR),
Yii CSRF Protection Library (PR),
Yii Rate Limiter Middleware (PR),
Yii Cookies (PR),
Yii Web Runner (PR).
#yiisoftErrorHandler #ПатчРелиз #Релиз
🎁 Yii Error Handler 2.0.1
• Исправили ошибку, возникающую при использовании JSON-рендеринга для ошибок, содержащих некорректные UTF-8 символы (PR).
🎁 Yii Error Handler 2.0.1
• Исправили ошибку, возникающую при использовании JSON-рендеринга для ошибок, содержащих некорректные UTF-8 символы (PR).
#yiisoftErrorHandler #ПатчРелиз #Релиз
🎁 Yii Error Handler 2.0.2
• Исправлен JSON-рендеринг в случае, когда брошено исключение о рекурсии, для этого в функции
🎁 Yii Error Handler 2.0.2
• Исправлен JSON-рендеринг в случае, когда брошено исключение о рекурсии, для этого в функции
json_encode
заменили опцию JSON_THROW_ON_ERROR
на JSON_PARTIAL_OUTPUT_ON_ERROR
(PR).👍1
⚡️ #yiisoftAccess #yiisoftErrorHandler #yiisoftEventDispatcher #yiisoftFactory #yiisoftHttp #yiisoftI18n #yiisoftAliases #yiisoftJson #yiisoftProfiler #yiisoftInjector #yiisoftMailerSymfony #yiisoftMutex #yiisoftRateLimiter #yiisoftNetworkUtilities #yiisoftSession #yiisoftRouter #yiisoftStrings #yiisoftRouterFastroute #yiisoftRequestBodyParser #yiisoftTranslatorMessageGettext #yiisoftTranslatorExtractor #yiisoftTranslatorFormatterSimple #yiisoftTranslator #yiisoftTranslatorFormatterIntl #yiisoftTranslatorMessageDb #yiisoftUser #yiisoftVarDumper #yiisoftViewTwig #yiisoftYiiEvent #yiisoftTranslatorMessagePhp #yiisoftDataResponse #yiisoftCacheFile #yiisoftCookies #yiisoftCsrf #yiisoftAssets #yiisoftAuthJwt #yiisoftLog #yiisoftArrays #yiisoftYiiFilesystem #yiisoftYiiHttp #yiisoftYiiRunnerHttp #yiisoftLogTargetFile #yiisoftLogTargetEmail #yiisoftYiiRunnerRoadrunner #yiisoftSecurity #yiisoftYiiSwagger #yiisoftYiiSentry #yiisoftMutexFile #yiisoftMiddlewareDispatcher #yiisoftTestSupport #yiisoftYiiDebug #yiisoftYiiDebugViewer #yiisoftCacheApcu #yiisoftYiiDataview #yiisoftLogTargetSyslog #yiisoftAuth #yiisoftDefinitions #yiisoftRbacPhp #yiisoftDataDb #yiisoftData #yiisoftRequestModel #yiisoftDi #yiisoftConfig #yiisoftRbacRulesContainer
Продолжаем заменять рабочие процессы на переиспользуемые из Yii GitHub Actions:
- Yii Access (PR)
- Yii Error Handler (PR)
- Yii Event Dispatcher (PR)
- Yii Factory (PR)
- Yii HTTP (PR)
- Yii Internationalization Library (PR)
- Yii Aliases (PR)
- Yii JSON (PR)
- Yii Profiler (PR)
- Yii Injector (PR)
- Yii Mailer Symfony Mailer Extension (PR)
- Yii Mutex (PR)
- Yii Rate Limiter Middleware (PR)
- Yii Network Utilities (PR)
- Yii Session (PR)
- Yii Router (PR)
- Yii Strings (PR)
- Yii Router FastRoute Adapter (PR)
- Yii Request Body Parser (PR)
- Yii Translator gettext Message Storage (PR)
- Yii Message Extractor (PR)
- Yii Translator Simple Message Formatter (PR)
- Yii Message Translator (PR)
- Yii Translator intl Message Formatter (PR)
- Yii Translator DB Message Storage (PR)
- Yii User (PR)
- Yii VarDumper (PR)
- Yii View Twig Renderer (PR)
- Yii Event (PR)
- Yii Translator PHP Message Storage (PR)
- Yii Data Response (PR)
- Yii Cache File Handler (PR)
- Yii Cookies (PR)
- Yii CSRF Protection Library (PR)
- Yii Assets (PR)
- Yii Auth JWT (PR)
- Yii Logging Library (PR)
- Yii Arrays (PR)
- Yii Filesystem (PR)
- Yii HTTP Application (PR)
- Yii HTTP Runner (PR)
- Yii Logging File Target (PR)
- Yii Logging Email Target (PR)
- Yii RoadRunner Runner (PR)
- Yii Security (PR)
- Yii Swagger (PR)
- Yii Sentry (PR)
- Yii Mutex File Driver (PR)
- Yii Middleware Dispatcher (PR)
Продолжаем заменять рабочие процессы на переиспользуемые из Yii GitHub Actions:
- Yii Access (PR)
- Yii Error Handler (PR)
- Yii Event Dispatcher (PR)
- Yii Factory (PR)
- Yii HTTP (PR)
- Yii Internationalization Library (PR)
- Yii Aliases (PR)
- Yii JSON (PR)
- Yii Profiler (PR)
- Yii Injector (PR)
- Yii Mailer Symfony Mailer Extension (PR)
- Yii Mutex (PR)
- Yii Rate Limiter Middleware (PR)
- Yii Network Utilities (PR)
- Yii Session (PR)
- Yii Router (PR)
- Yii Strings (PR)
- Yii Router FastRoute Adapter (PR)
- Yii Request Body Parser (PR)
- Yii Translator gettext Message Storage (PR)
- Yii Message Extractor (PR)
- Yii Translator Simple Message Formatter (PR)
- Yii Message Translator (PR)
- Yii Translator intl Message Formatter (PR)
- Yii Translator DB Message Storage (PR)
- Yii User (PR)
- Yii VarDumper (PR)
- Yii View Twig Renderer (PR)
- Yii Event (PR)
- Yii Translator PHP Message Storage (PR)
- Yii Data Response (PR)
- Yii Cache File Handler (PR)
- Yii Cookies (PR)
- Yii CSRF Protection Library (PR)
- Yii Assets (PR)
- Yii Auth JWT (PR)
- Yii Logging Library (PR)
- Yii Arrays (PR)
- Yii Filesystem (PR)
- Yii HTTP Application (PR)
- Yii HTTP Runner (PR)
- Yii Logging File Target (PR)
- Yii Logging Email Target (PR)
- Yii RoadRunner Runner (PR)
- Yii Security (PR)
- Yii Swagger (PR)
- Yii Sentry (PR)
- Yii Mutex File Driver (PR)
- Yii Middleware Dispatcher (PR)
🤯6👍5
⚡️ #yiisoftAccess #yiisoftErrorHandler #yiisoftDefinitions #yiisoftCache #yiisoftCsrf #yiisoftData #yiisoftAuth #yiisoftArrays #yiisoftCacheDb #yiisoftCacheFile #yiisoftCacheMemcached #yiisoftCacheRedis #yiisoftConfig #yiisoftCookies #yiisoftDataDb #yiisoftDataResponse #yiisoftDi #yiisoftActiveRecord #yiisoftDb #yiisoftDbMysql #yiisoftClassifier
Сделали небольшой рефакторинг в пакетах. Методы, вызываемые «цепочкой», перенесли на новую строку:
- Yii Access (PR)
- Yii Error Handler (PR)
- Yii Definitions (PR)
- Yii Caching Library (PR)
- Yii CSRF Protection Library (PR)
- Yii Data (PR)
- Yii Auth (PR)
- Yii Arrays (PR)
- Yii Cache DB Handler (PR)
- Yii Cache File Handler (PR)
- Yii Cache Memcached Handler (PR)
- Yii Cache Redis Handler (PR)
- Yii Config (PR)
- Yii Cookies (PR)
- Yii Data DB (PR)
- Yii Data Response (PR)
- Yii Dependency Injection (PR)
- Yii Active Record (PR)
- Yii DB (PR)
- Yii DB MySQL Extension (PR)
- Yii Classifier (PR)
Сделали небольшой рефакторинг в пакетах. Методы, вызываемые «цепочкой», перенесли на новую строку:
- Yii Access (PR)
- Yii Error Handler (PR)
- Yii Definitions (PR)
- Yii Caching Library (PR)
- Yii CSRF Protection Library (PR)
- Yii Data (PR)
- Yii Auth (PR)
- Yii Arrays (PR)
- Yii Cache DB Handler (PR)
- Yii Cache File Handler (PR)
- Yii Cache Memcached Handler (PR)
- Yii Cache Redis Handler (PR)
- Yii Config (PR)
- Yii Cookies (PR)
- Yii Data DB (PR)
- Yii Data Response (PR)
- Yii Dependency Injection (PR)
- Yii Active Record (PR)
- Yii DB (PR)
- Yii DB MySQL Extension (PR)
- Yii Classifier (PR)
👍6
⚡️ #yiisoftErrorHandler
Изменена логика прекращения работы скрипта в Yii Error Handler при возникновении исключения: вместо прямого вызова
Подробнее о предпосылках такого решения можно почитать в PR #19401 в Yii2.
Изменена логика прекращения работы скрипта в Yii Error Handler при возникновении исключения: вместо прямого вызова
exit(1)
, теперь этот вызов регистрируется с помощью register_shutdown_function()
(PR):register_shutdown_function(static function (): void {
exit(1);
});
Подробнее о предпосылках такого решения можно почитать в PR #19401 в Yii2.
⚡️ #yiisoftErrorHandler
Несколько улучшений в Yii Error Handler (PR):
- добавили событие
- добавили восстановление текущей директории на момент возникновения события
Несколько улучшений в Yii Error Handler (PR):
- добавили событие
ApplicationError
, возникающее после обработки ошибки перед завершением работы приложения;- добавили восстановление текущей директории на момент возникновения события
ApplicationError
.⚡️ #yiisoftErrorHandler
В пакете Yii Error Handler добавили поддержку markdown при выводе решений из дружественных исключений (PR).
В пакете Yii Error Handler добавили поддержку markdown при выводе решений из дружественных исключений (PR).
🔥11
#yiisoftErrorHandler #МинорныйРелиз #Релиз
🎁 Yii Error Handler 2.1.0
• Добавлено событие
• Добавлено восстановление текущей директории на момент возникновения события
• Добавлена поддержка markdown при выводе решений из дружественных исключений.
• Изменена логика прекращения работы скрипта при возникновении исключения: вместо прямого вызова
• Добавлена поддержка
🎁 Yii Error Handler 2.1.0
• Добавлено событие
ApplicationError
, возникающее после обработки ошибки перед завершением работы приложения.• Добавлено восстановление текущей директории на момент возникновения события
ApplicationError
.• Добавлена поддержка markdown при выводе решений из дружественных исключений.
• Изменена логика прекращения работы скрипта при возникновении исключения: вместо прямого вызова
exit(1)
, теперь этот вызов регистрируется с помощью register_shutdown_function()
.• Добавлена поддержка
psr/log
версий ^2.0
и ^3.0
(PR).👍3
⚡️ #yiisoftErrorHandler
В Yii Error Handler в doc-блок конструктора мидлвари
В Yii Error Handler в doc-блок конструктора мидлвари
ExceptionResponder
добавили примеры параметра $exceptionMap
(PR).👍1
#yiisoftErrorHandler #ПатчРелиз #Релиз
🎁 Yii Error Handler 2.1.1
• Исправлена проблема с дублированием контента при генерации страницы с ошибкой.
• В phpdoc-блок конструктора мидлвари
😎 Релиз подготовили Сергей Предводителев и Дмитрий Горяев.
🎁 Yii Error Handler 2.1.1
• Исправлена проблема с дублированием контента при генерации страницы с ошибкой.
• В phpdoc-блок конструктора мидлвари
ExceptionResponder
добавили примеры параметра $exceptionMap
.😎 Релиз подготовили Сергей Предводителев и Дмитрий Горяев.
👍2🔥1
#yiisoftErrorHandler #МажорныйРелиз #Релиз
🎁 Yii Error Handler 3.0
• Минимальная версия PHP поднята до 8.0.
• Конфигурация пакета адаптирована к соглашению Yii об именах групп конфигураций.
• Явно прописаны транзитивные зависимости
😎 Релиз подготовили Сергей Предводителев и Дмитрий Дерепко.
🎁 Yii Error Handler 3.0
• Минимальная версия PHP поднята до 8.0.
• Конфигурация пакета адаптирована к соглашению Yii об именах групп конфигураций.
• Явно прописаны транзитивные зависимости
ext-mbstring
, psr/http-factory
и psr/http-server-handler
.😎 Релиз подготовили Сергей Предводителев и Дмитрий Дерепко.
👍7
#yiisoftErrorHandler #МинорныйРелиз #Релиз
🎁 Yii Error Handler 3.1
• Добавлен класс
• Реализовано автоматическое определение темы (светлая или тёмная).
• Добавлено композитное исключение
• При возникновении ошибки во время обработки запроса в
🎁 Yii Error Handler 3.1
• Добавлен класс
HeadersProvider
, с помощью которого можно указать заголовки, которые будут добавлены в ответ с ошибкой.• Реализовано автоматическое определение темы (светлая или тёмная).
• Добавлено композитное исключение
CompositeException
, используемое для вывода нескольких исключений одновременно.• При возникновении ошибки во время обработки запроса в
ErrorCatcher
теперь отправляется событие ApplicationError
.👍14👾2
#yiisoftErrorHandler #МинорныйРелиз #Релиз
🎁 Yii Error Handler 3.2
• Добавлен вывод трассировки для ошибок PHP (ранее она выводилась только для исключений).
• В мидлвари
🎁 Yii Error Handler 3.2
• Добавлен вывод трассировки для ошибок PHP (ранее она выводилась только для исключений).
• В мидлвари
ExceptionResponder
добавлена возможность вызвать у ответа метод getBody()
, чтобы можно было отловить и обработать исключения, которые могут при этом возникнуть.👍9👾2
#yiisoftErrorHandler #ПатчРелиз #Релиз
🎁 Yii Error Handler 3.2.1
• Добавлена поддержка пакета
🎁 Yii Error Handler 3.2.1
• Добавлена поддержка пакета
psr/http-message
версии ^2.0
.🔥5👾3
#yiisoftErrorHandler #МинорныйРелиз #Релиз
🎁 Yii Error Handler 3.3
• Добавлена кнопка для копирования cURL-запроса.
• Отсортированы заголовки в информации о запросе.
• Упрощён код, генерирующий сообщения для лога ошибок.
• В трейсе добавлена возможность посмотреть полный список аргументов.
• Добавлена возможность настройки глубины регистрации shutdown-функции, вызывающей
• Мелкие исправления в интерфейсе.
🎁 Yii Error Handler 3.3
• Добавлена кнопка для копирования cURL-запроса.
• Отсортированы заголовки в информации о запросе.
• Упрощён код, генерирующий сообщения для лога ошибок.
• В трейсе добавлена возможность посмотреть полный список аргументов.
• Добавлена возможность настройки глубины регистрации shutdown-функции, вызывающей
exit(1)
, по умолчанию — 2.• Мелкие исправления в интерфейсе.
👍4🔥1👾1
#yiisoftErrorHandler #МажорныйРелиз #Релиз
🎁 Yii Error Handler 4.0
• На странице ошибки добавлен вывод кода исключения.
• В трейсе добавлены аргументы, передаваемые в функции и методы.
• Генерация ответа в мидлвари
•
• В конструкторе
• Минимальная версия PHP повышена до 8.1 и выполнен соответствующий рефакторинг.
• Ограничение версии PHP в
• Для опциональных nullable-параметров явно прописан тип с
🎁 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
• Добавлена новая фабрика ответа
Например, можно создать свой провайдер для запросов из библиотеки htmx:
И добавить его в конфигурацию фабрики:
•
• Рендереры ответа для исключений теперь добавляют в заголовки ответ тип содержимого.
• Исправлено отображение аргументов функции в тёмном режиме.
🎁 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
• В
• Добавлен PHP-атрибут
• Выполнен небольшой рефакторинг шаблонов.
🎁 Yii Error Handler 4.2
• В
HtmlRenderer
добавлен параметр $traceLink
, позволяющий задать формат ссылки на файл в IDE. Параметр $traceHeaderLine
помечен устаревшим.• Добавлен PHP-атрибут
#[UserException]
, которым можно помечать пользовательские исключения.• Выполнен небольшой рефакторинг шаблонов.
👍3👾2