#yiisoftConfig #МинорныйРелиз #Релиз
🎁 Yii Config 1.5
• Для модификатора
• Исправлено некорректное исключение "Duplicate key…", возникающее в некоторых случаях при использовании референсов.
• Модификаторы для рекурсивного и реверсивного слияний теперь применяются для референсов.
• Удалён неиспользуемый код в классе
🎁 Yii Config 1.5
• Для модификатора
RecursiveMerge
добавлена возможность указать глубину рекурсии.• Исправлено некорректное исключение "Duplicate key…", возникающее в некоторых случаях при использовании референсов.
• Модификаторы для рекурсивного и реверсивного слияний теперь применяются для референсов.
• Удалён неиспользуемый код в классе
PackagesListBuilder
.👍12👾5
#yiisoftYiiRunnerHttp #yiisoftYiiRunnerConsole #МинорныйРелиз #Релиз
🎁 Yii HTTP Runner 2.2
🎁 Yii Console Runner 2.1
• Добавлена возможность указать дополнительные модификаторы конфигурации для приложения.
🎁 Yii HTTP Runner 2.2
🎁 Yii Console Runner 2.1
• Добавлена возможность указать дополнительные модификаторы конфигурации для приложения.
👍8👾3
#yiisoftWidget #МинорныйРелиз #Релиз
🎁 Yii Widget 2.2
• Добавлена возможность использовать виджеты без инициализации фабрики виджетов.
• Добавлена возможность указать в конфигурации тему по умолчанию для конкретного виджета.
• Исключение
🎁 Yii Widget 2.2
• Добавлена возможность использовать виджеты без инициализации фабрики виджетов.
• Добавлена возможность указать в конфигурации тему по умолчанию для конкретного виджета.
• Исключение
WidgetFactoryInitializationException
помечено как устаревшее и будет удалено в следующей мажорной версии.👍10👾3
#yiisoftHtml #МинорныйРелиз #Релиз
🎁 Yii HTML 3.4
• Добавлена возможность указать HTML-атрибуты для тега
🎁 Yii HTML 3.4
• Добавлена возможность указать HTML-атрибуты для тега
<label>
в виджетах CheckboxList
и RadioList
.👍7👾2
#yiisoftFileRouter
✨ Yii File Router
Репозиторий под новый роутер, который будет работать на основании файловой структуры. Очень похоже на то, что есть в Yii2.
Скоро будет добавлена первая реализация.
Репозиторий под новый роутер, который будет работать на основании файловой структуры. Очень похоже на то, что есть в Yii2.
Скоро будет добавлена первая реализация.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9👍5❤🔥2👾2
#yiisoftYiiConsole #ПатчРелиз #Релиз
🎁 Yii Console 2.1.2
• Добавлена поддержка
🎁 Yii Console 2.1.2
• Добавлена поддержка
symfony/console
версии ^7.0
.👍7👾3
#yiisoftYiiRunnerHttp #yiisoftYiiRunnerConsole #ПатчРелиз #Релиз
🎁 Yii Console Runner 2.1.1
• Добавлена поддержка
🎁 Yii Console Runner 2.1.1
• Добавлена поддержка
symfony/console
версии ^7.0
.👾5👍4
Завершена техническая подготовка 5 новых пакетов к релизу:
• Yii Hydrator
• Yii Validating Hydrator
• Yii Input HTTP
• Yii Form
• Yii Form Model
Покрытие тестами — 100%. MSI — 100%. Psalm 1 уровня.
Осталось провести финальное ревью, добавить документацию, и пакеты уходят в релиз.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥41👍8❤3👾1
#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