#yiisoftErrorHandler #МинорныйРелиз #Релиз
🎁 Yii Error Handler 3.1
• Добавлен класс
• Реализовано автоматическое определение темы (светлая или тёмная).
• Добавлено композитное исключение
• При возникновении ошибки во время обработки запроса в
🎁 Yii Error Handler 3.1
• Добавлен класс
HeadersProvider
, с помощью которого можно указать заголовки, которые будут добавлены в ответ с ошибкой.• Реализовано автоматическое определение темы (светлая или тёмная).
• Добавлено композитное исключение
CompositeException
, используемое для вывода нескольких исключений одновременно.• При возникновении ошибки во время обработки запроса в
ErrorCatcher
теперь отправляется событие ApplicationError
.👍14👾2
⚡️ #yiisoftYiiQueue #yiisoftYiiQueueAmqp #yiisoftQueue #yiisoftQueueAmqp
У пакетов Yii Queue и Yii Queue AMQP Driver убран префикс
У пакетов Yii Queue и Yii Queue AMQP Driver убран префикс
yii-
.yiisoft/yii-queue
→ yiisoft/queue
yiisoft/yii-queue-amqp
→ yiisoft/queue-amqp
🔥6👾5👍1🎄1
#yiisoftTranslatorExtractor #МинорныйРелиз #Релиз
🎁 Yii Message Extractor 2.1
• Добавлена возможность указать метод используемый для перевода сообщений.
• Добавлена поддержка
🎁 Yii Message Extractor 2.1
• Добавлена возможность указать метод используемый для перевода сообщений.
• Добавлена поддержка
symfony/console
версии ^7.0
.👍11❤1👾1
#yiisoftHydrator #ПервыйРелиз #МажорныйРелиз #Релиз
🎁 Yii Hydrator 1.0
Гидратор позволяет создавать и/или наполнять объекты из сырого набора данных.
• Поддержка свойств в любой области видимости.
• Поддержка аргументов конструктора при создании объектов.
• Автоматической разрешение зависимостей при создании объектов, используя PSR-11 совместимый контейнер.
• Поддержка вложенных объектов.
• Маппинг.
• Тонкая настройка гидрации с помощью PHP-атрибутов.
Использовать очень просто:
И, как обычно, 100% покрытие тестами, 100% MSI, первый уровень Psalm.
🎁 Yii Hydrator 1.0
Гидратор позволяет создавать и/или наполнять объекты из сырого набора данных.
• Поддержка свойств в любой области видимости.
• Поддержка аргументов конструктора при создании объектов.
• Автоматической разрешение зависимостей при создании объектов, используя PSR-11 совместимый контейнер.
• Поддержка вложенных объектов.
• Маппинг.
• Тонкая настройка гидрации с помощью PHP-атрибутов.
Использовать очень просто:
use Yiisoft\Hydrator\Hydrator;
$hydrator = new Hydrator();
// Наполнение существующего объекта
$hydrator->hydrate($object, $data);
// Создание нового объекта
$object = $hydrator->create(MyClass::class, $data);
И, как обычно, 100% покрытие тестами, 100% MSI, первый уровень Psalm.
🔥22❤1👍1👾1
#yiisoftErrorHandler #МинорныйРелиз #Релиз
🎁 Yii Error Handler 3.2
• Добавлен вывод трассировки для ошибок PHP (ранее она выводилась только для исключений).
• В мидлвари
🎁 Yii Error Handler 3.2
• Добавлен вывод трассировки для ошибок PHP (ранее она выводилась только для исключений).
• В мидлвари
ExceptionResponder
добавлена возможность вызвать у ответа метод getBody()
, чтобы можно было отловить и обработать исключения, которые могут при этом возникнуть.👍9👾2
#yiisoftHydratorValidator #ПервыйРелиз #МажорныйРелиз #Релиз
🎁 Yii Validating Hydrator 1.0
Валидирующий гидратор — это декоратор для гидратора, который позволяет выполнить валидацию сырых данных перед наполнением объекта и валидацию самого объекта после гидрации.
Это полезно, когда входные данные поступают от пользователя, а вам нужно их проверить и получить валидный DTO.
Пример DTO:
Пример использования в контроллере:
🎁 Yii Validating Hydrator 1.0
Валидирующий гидратор — это декоратор для гидратора, который позволяет выполнить валидацию сырых данных перед наполнением объекта и валидацию самого объекта после гидрации.
Это полезно, когда входные данные поступают от пользователя, а вам нужно их проверить и получить валидный DTO.
Пример DTO:
use Yiisoft\Hydrator\Validator\Attribute\Validate;
use Yiisoft\Hydrator\Validator\ValidatedInputInterface;
use Yiisoft\Hydrator\Validator\ValidatedInputTrait;
use Yiisoft\Validator\Rule\Email;
use Yiisoft\Validator\Rule\Required;
final class InputDto implements ValidatedInputInterface
{
use ValidatedInputTrait;
#[Email]
private string $email;
#[Validate(new Required())]
private string $name;
}
Пример использования в контроллере:
use Yiisoft\Hydrator\HydratorInterface;
use Yiisoft\Hydrator\Validator\ValidatingHydrator;
public function actionEdit(
RequestInterface $request,
ValidatingHydrator $hydrator,
): ResponseInterface
{
$data = $request->getParsedBody();
$inputDto = $hydrator->create(InputDto::class, $data);
if (!$inputDto->getValidationResult()->isValid()) {
// Validation didn't pass :(
}
// Everything is fine. You can use $inputDto now.
}
👍22👾3
#yiisoftDummyProvider #ПатчРелиз #Релиз
🎁 Yii Dummy Provider 1.0.1
• Добавлено ключевое слово "testing" в composer.json , благодаря чему пользователю при установке пакета будет предложено установить его в секцию
🎁 Yii Dummy Provider 1.0.1
• Добавлено ключевое слово "testing" в composer.json , благодаря чему пользователю при установке пакета будет предложено установить его в секцию
require-dev
.👍7👾2
#yiisoftPsrDummyProvider #ПатчРелиз #Релиз
🎁 PSR Dummy Provider 1.0.2
• Добавлено ключевое слово "testing" в composer.json , благодаря чему пользователю при установке пакета будет предложено установить его в секцию
🎁 PSR Dummy Provider 1.0.2
• Добавлено ключевое слово "testing" в composer.json , благодаря чему пользователю при установке пакета будет предложено установить его в секцию
require-dev
.🔥6👍2👾1
#yiisoftCsrf #МинорныйРелиз #Релиз
🎁 Yii CSRF Protection Library 2.1
• Добавлена реализация CSRF-токена
• Явно прописаны ранее транзитивные зависимости
🎁 Yii CSRF Protection Library 2.1
• Добавлена реализация CSRF-токена
StubCsrfToken
, которая будет полезна в тестах.• Явно прописаны ранее транзитивные зависимости
yiisoft/strings
, psr/http-server-handler
и ext-hash
.🔥7👍3👾1
#yiisoftTestSupport #ПатчРелиз #Релиз
🎁 Yii Test Support 3.0.1
• Добавлено ключевое слово "testing" в composer.json , благодаря чему пользователю при установке пакета будет предложено установить его в секцию
🎁 Yii Test Support 3.0.1
• Добавлено ключевое слово "testing" в composer.json , благодаря чему пользователю при установке пакета будет предложено установить его в секцию
require-dev
.👾2👍1🔥1
#yiisoftHydrator #МинорныйРелиз #Релиз
🎁 Yii Hydrator 1.1
• Добавлен новый класс для приведения типов
🎁 Yii Hydrator 1.1
• Добавлен новый класс для приведения типов
NullTypeCaster
, позволяющий преобразовывать следующие значения к null
: null
, пустая строка, пустой массив. Поведение настраиваемое, то есть можно указать, какие значение приводить, а какие нет.👍7🔥1👾1
#yiisoftTranslatorExtractor #ПатчРелиз #Релиз
🎁 Yii Message Extractor 2.1.1
• Добавлено ключевое слово "dev" в composer.json , благодаря чему пользователю при установке пакета будет предложено установить его в секцию
🎁 Yii Message Extractor 2.1.1
• Добавлено ключевое слово "dev" в composer.json , благодаря чему пользователю при установке пакета будет предложено установить его в секцию
require-dev
.👍4👾1
#yiisoftYiiConsole #МинорныйРелиз #Релиз
🎁 Yii Console 2.2
• Добавлена возможность использовать слушатель события
🎁 Yii Console 2.2
• Добавлена возможность использовать слушатель события
ErrorListiner
без логгера.👍4👾2
#yiisoftRouter #МинорныйРелиз #Релиз
🎁 Yii Router 3.1
• Добавлен атрибут
• Добавлена поддержка пакета
🎁 Yii Router 3.1
• Добавлен атрибут
RouteArgument
для Yii Hydrator, который позволяет получить значение аргумента маршрута. Например:#[RouteArgument('id')]
private string $id;
• Добавлена поддержка пакета
psr/http-message
версии ^2.0
.👍11🤔1👾1
#yiisoftValidator #МинорныйРелиз #Релиз
🎁 Yii Validator 1.2
• Добавлено правило
• В методах
• Добавлен сборщик отладочной информации для Yii Debug.
• Для параметра
• В условиях "пустоты" значений
• Выполнен небольшой рефакторинг метода
• Исправлено ошибочное экранирование символа
🎁 Yii Validator 1.2
• Добавлено правило
OneOf
.• В методах
Result::getAttributeErrorMessagesIndexedByPath()
и Result::getErrorMessagesIndexedByPath()
добавлен параметр $escape
, который позволяет указать экранируемый символ в пути валидируемого элемента или полностью отключить экранирование.• Добавлен сборщик отладочной информации для Yii Debug.
• Для параметра
$skipOnEmpty
указан более конкретный psalm-тип.• В условиях "пустоты" значений
NeverEmpty
, WhenEmpty
, WhenMissing
и WhenNull
параметр $isAttributeMissing
сделан опциональным.• Выполнен небольшой рефакторинг метода
EmailHandler::validate()
.• Исправлено ошибочное экранирование символа
*
при использовании метода Error::getValuePath(true)
.👍6👾1
#yiisoftRequestProvider
✨ Yii Request Provider
Новый репозиторий, в который переедет из Yii Input HTTP провайдер PSR-запроса (
Новый репозиторий, в который переедет из Yii Input HTTP провайдер PSR-запроса (
ServerRequestInterface
) .Please open Telegram to view this post
VIEW IN TELEGRAM
👾4
#yiisoftYiiRunnerRoadrunner #МажорныйРелиз #Релиз
🎁 Yii RoadRunner Runner 3.0
• Добавлен раннер для gRPC-запросов.
• Класс
• Добавлена поддержка пакета
• Минимальная версия PHP повышена до 8.1.
🎁 Yii RoadRunner Runner 3.0
• Добавлен раннер для gRPC-запросов.
• Класс
RoadRunnerApplicationRunner
переименован в RoadRunnerHttpApplicationRunner
.• Добавлена поддержка пакета
psr/http-message
версии ^2.0
.• Минимальная версия PHP повышена до 8.1.
🔥9👍1👾1
#yiisoftRequestProvider #ПервыйРелиз #МажорныйРелиз #Релиз
🎁 Yii Request Provider 1.0
Пакет позволяет использовать объект PSR-7 запроса (
Пример:
🎁 Yii Request Provider 1.0
Пакет позволяет использовать объект PSR-7 запроса (
ServerRequestInterface
) в качестве зависимости.Пример:
use \Yiisoft\RequestProvider\RequestProviderInterface;
final class MyService
{
public function __construct(
private RequestProviderInterface $requestProvider
) {
}
public function doIt()
{
$request = $this->requestProvider->get();
// ...
}
}
👍10👾2
#yiisoftDataResponse #МинорныйРелиз #Релиз
🎁 Yii Data Response 2.1
• Добавлен форматер
• Добавлена поддержка пакета
• Минимальная версия PHP поднята до 8.1 и выполнен соответствующий рефакторинг.
• Явно прописаны ранее транзитивные зависимости
🎁 Yii Data Response 2.1
• Добавлен форматер
PlainTextDataResponseFormatter
и соответствующая мидлварь FormatDataResponseAsPlainText
.• Добавлена поддержка пакета
psr/http-message
версии ^2.0
.• Минимальная версия PHP поднята до 8.1 и выполнен соответствующий рефакторинг.
• Явно прописаны ранее транзитивные зависимости
psr/http-factory
и psr/http-server-handler
.👍6👾2
#yiisoftDataCycle
✨ Yii Data Cycle
Новый репозиторий, в который переедет часть кода из готовящегося к релизу Yii Cycle (по аналогии с https://github.com/yiisoft/data-db).
✨ Yii Data Cycle
Новый репозиторий, в который переедет часть кода из готовящегося к релизу Yii Cycle (по аналогии с https://github.com/yiisoft/data-db).
GitHub
GitHub - yiisoft/data-cycle: Data adapter for Cycle ORM
Data adapter for Cycle ORM. Contribute to yiisoft/data-cycle development by creating an account on GitHub.
🔥1
#yiisoftHydratorValidator #МажорныйРелиз #Релиз
🎁 Yii Validating Hydrator 2.0
• Метод
🎁 Yii Validating Hydrator 2.0
• Метод
ValidatedInputInterface::getValidatedInput()
теперь всегда возвращает объект результата валидации, а если его нет, то будет брошено исключение LogicException
.👍5👾2