⚡️ #yiisoftRequestModel
В Yii Request Model добавили возможность в обработчике использовать атрибуты для получения данных из запроса (PR). Например:
Доступные атрибуты:
В Yii Request Model добавили возможность в обработчике использовать атрибуты для получения данных из запроса (PR). Например:
final class SimpleController
{
public function action(
#[Route('id')] int $id,
#[Request('foo')] $attribute,
): ResponseInterface {
echo $id;
//...
}
}
Доступные атрибуты:
Body
, Query
, Request
, Route
и UploadedFiles
.🔥7❤2
⚡️ #yiisoftCacheDb
В Yii Cache DB Handler подняли используемую версию PSR-интерфейсов
В Yii Cache DB Handler подняли используемую версию PSR-интерфейсов
psr/simple-cache
до ^2.0|^3.0
и уровень psalm увеличили до 1 (PR).🔥2
⚡️ #yiisoftPackageTemplate
В шаблоне Yii Package Template в
В шаблоне Yii Package Template в
.editorconfig
добавили несколько PhpStorm-специфичных правил (PR).ij_php_space_before_short_closure_left_parenthesis = true
Добавлять пробел после fn
в стрелочных функциях, например fn () => ...
.ij_php_space_after_type_cast = true
Добавлять пробел после приведения типа, например (string) $var
.👍4
⚡️ #yiisoftProxy
В Yii Proxy исправили ошибку при создании прокси-объекта, в сигнатуре которого встречаются пересечения типов (PR).
В Yii Proxy исправили ошибку при создании прокси-объекта, в сигнатуре которого встречаются пересечения типов (PR).
🔥2
⚡️ #yiisoftDemo
В демо веб-приложения доработали меню выбора языка: теперь каждый пункт выводится на своём языке (PR).
В демо веб-приложения доработали меню выбора языка: теперь каждый пункт выводится на своём языке (PR).
👏4👍1
#yiisoftProxy #ПатчРелиз #Релиз
🎁 Yii Proxy 1.0.3
Подняли уровень статического анализа psalm до 1 (PR) и сделали патч-релиз.
• Исправлена ошибка при создании прокси-объекта, в сигнатуре которого встречаются объединения типов, включающие null.
• Исправлена ошибка при создании прокси-объекта, в сигнатуре которого встречаются пересечения типов.
• Финализирован конструктор в классе
🎁 Yii Proxy 1.0.3
Подняли уровень статического анализа psalm до 1 (PR) и сделали патч-релиз.
• Исправлена ошибка при создании прокси-объекта, в сигнатуре которого встречаются объединения типов, включающие null.
• Исправлена ошибка при создании прокси-объекта, в сигнатуре которого встречаются пересечения типов.
• Финализирован конструктор в классе
ObjectProxy
(PR).🔥1
⚡️ #yiisoftDocs
В документации добавили соглашение о стиле кода для методов, вызываемых «цепочкой» (commit).
В документации добавили соглашение о стиле кода для методов, вызываемых «цепочкой» (commit).
🔥2
#yiisoftProxy #ПатчРелиз #Релиз
🎁 Yii Proxy 1.0.4
Во вчерашнем релизе ошибочно финализировали конструктор в
• Удалена финализация конструктора в классе
🎁 Yii Proxy 1.0.4
Во вчерашнем релизе ошибочно финализировали конструктор в
ObjectProxy
. Переопределение конструктора используется в Yii Debug. Исправляемся.• Удалена финализация конструктора в классе
ObjectProxy
(PR).🔥3
⚡️ #yiisoftForm #yiisoftDemoApi
В модели формы Yii Form добавили возможность использовать атрибуты валидатора для указания правил валидации (PR).
Демо API-приложения адаптировали к этим изменениям (PR).
В модели формы Yii Form добавили возможность использовать атрибуты валидатора для указания правил валидации (PR).
Демо API-приложения адаптировали к этим изменениям (PR).
👍4
This media is not supported in your browser
VIEW IN TELEGRAM
⚡️ #yiisoftYiiDebugViewer
Доработали внешний вид тулбара в Yii Debug Viewer (PR):
- добавили изменение фона при наведении на табы;
- сделали соответствующий курсор в зоне изменения размера тулбара;
- убрали возможность выделения текста в тулбаре.
Доработали внешний вид тулбара в Yii Debug Viewer (PR):
- добавили изменение фона при наведении на табы;
- сделали соответствующий курсор в зоне изменения размера тулбара;
- убрали возможность выделения текста в тулбаре.
🔥11👍1🤔1
🔥2
⚡️ #yiisoftYiiDevTool
Доработали вывод результата выполнения команд
Доработали вывод результата выполнения команд
enable
и disable
в Yii Development Tool. Теперь пакеты, которые уже были включены/отключены ранее выводятся отдельным списком (PR).👍4
👍2
⚡️ #yiisoftDb #yiisoftDbMssql #yiisoftDbMysql #yiisoftDbOracle #yiisoftDbPgsql #yiisoftDbSqlite
В Yii DB добавлены методы (PR):
-
-
-
-
Соответствующие изменения внесены в пакеты + добавлены тесты:
- Yii DB MSSQL Server Extension (PR),
- Yii DB MySQL Extension (PR),
- Yii DB Oracle Extension (PR),
- Yii DB PostgreSQL Extension (PR),
- Yii DB SQLite Extension (PR).
В Yii DB добавлены методы (PR):
-
QuoterInterface::getTableNameParts()
,-
TableSchemaInterface::getServerName()
,-
TableSchemaInterface::serverName()
,-
Schema::getRawTableName()
.Соответствующие изменения внесены в пакеты + добавлены тесты:
- Yii DB MSSQL Server Extension (PR),
- Yii DB MySQL Extension (PR),
- Yii DB Oracle Extension (PR),
- Yii DB PostgreSQL Extension (PR),
- Yii DB SQLite Extension (PR).
🔥8
⚡️ #yiisoftYiiQueue
В пакете Yii Queue избавились от сомнительных поведений (behaviors) и заменили их мидлварями (PR).
Как было?
Если была нужда как-то иначе сконфигурировать отправку сообщения в очередь, создавалось поведение. Например, поведение отложенного сообщения. Сходу было непонятно, чем эти поведения являются и как их использовать, а также они давали меньше гибкости в настройке, чем хотелось бы.
Как стало?
Поведений больше нет, теперь есть мидлвари. Да, прямо как в PSR-15 для обработки HTTP-запросов, но работает не с объектом
Стека мидлварей у нас два:
- на отправку сообщения в очередь;
- на обработку сообщения из очереди.
Их можно использовать отдельно или комбинировать на ваш выбор. Можно, например, вручную добавлять ID отправляемому сообщению, если используете стандарт amqp, в котором ID нет. Можно прокидывать дополнительную метаинформацию на
Если вы раньше не использовали поведения, то можно спокойно обновляться, для вас ничего не изменится.
По использованию мидлварей информация есть в readme.
Также это изменение открывает возможность реализации стратегий обработки ошибок, которые могут быть сделаны как мидлварь на
В пакете Yii Queue избавились от сомнительных поведений (behaviors) и заменили их мидлварями (PR).
Как было?
Если была нужда как-то иначе сконфигурировать отправку сообщения в очередь, создавалось поведение. Например, поведение отложенного сообщения. Сходу было непонятно, чем эти поведения являются и как их использовать, а также они давали меньше гибкости в настройке, чем хотелось бы.
Как стало?
Поведений больше нет, теперь есть мидлвари. Да, прямо как в PSR-15 для обработки HTTP-запросов, но работает не с объектом
Request
, а с сообщением для очереди.Стека мидлварей у нас два:
- на отправку сообщения в очередь;
- на обработку сообщения из очереди.
Их можно использовать отдельно или комбинировать на ваш выбор. Можно, например, вручную добавлять ID отправляемому сообщению, если используете стандарт amqp, в котором ID нет. Можно прокидывать дополнительную метаинформацию на
push
, а на consume
— вычитывать и использовать её. Или добавить метрики в мониторинг для Prometheus. И так далее.Если вы раньше не использовали поведения, то можно спокойно обновляться, для вас ничего не изменится.
По использованию мидлварей информация есть в readme.
Также это изменение открывает возможность реализации стратегий обработки ошибок, которые могут быть сделаны как мидлварь на
consume
. Эта работа была начата раньше на поведениях.GitHub
GitHub - yiisoft/queue: Queue extension for Yii 3.0
Queue extension for Yii 3.0. Contribute to yiisoft/queue development by creating an account on GitHub.
🔥9👍2
⚡️ #yiisoftRequestModel
В Yii Request Model немного порефакторили существующие тесты и добавили новых (PR).
В Yii Request Model немного порефакторили существующие тесты и добавили новых (PR).
🔥2
🔥3😁1🎉1
#yiisoftStrings #МинорныйРелиз #Релиз
🎁 Yii Strings 2.1.0
• Добавлен метод
• Добавлен метод
🎁 Yii Strings 2.1.0
• Добавлен метод
StringHelper::parsePath()
для парсинга путей вида path.to.my.dream
с поддержкой произвольных разделителей и символа экранирования (PR).• Добавлен метод
Inflector::toSnakeCase()
, конвертирующий строку в "snake_case".🔥2
#yiisoftArrays #МинорныйРелиз #Релиз
🎁 Yii Arrays 2.1.0
• Для парсинга строковых путей в таких методах, как
🎁 Yii Arrays 2.1.0
• Для парсинга строковых путей в таких методах, как
ArrayHelper::getValueByPath()
, ArrayHelper::pathExists()
и так далее, теперь используется метод StringHelper::parsePath()
из Yii Strings, что добавило возможность экранирования символа разделителя с помощью обратного слэша (PR, PR).🔥3
⚡️ #yiisoftValidator
В Yii Validator добавили возможность упрощённой записи комбинации правил
Подробнее в readme.
В Yii Validator добавили возможность упрощённой записи комбинации правил
Nested
и Each
(PR). Например:$rule = new Nested([
'charts.*.points.*.coordinates.x' => [new Number(min: -10, max: 10)],
'charts.*.points.*.coordinates.y' => [new Number(min: -10, max: 10)],
'charts.*.points.*.rgb' => [
new Count(exactly: 3);
new Number(min: 0, max: 255),
]),
]);
Подробнее в readme.
🔥2