⚡️ #yiisoftYiiBulma
Сделали рефакторинг кода и добавили новые методы в виджетах
Сделали рефакторинг кода и добавили новые методы в виджетах
Dropdown
, Nav
, NavBar
в пакете Yii Bulma (PR).⚡️ #yiisoftForm
В пакете Yii Form в интерфейсе модели форм добавлен новый метод
В пакете Yii Form в интерфейсе модели форм добавлен новый метод
FormModelInterface::attributes()
, возвращающий имена атрибутов (PR).⚡️ #yiisoftYiiCycle
В ветке
В ветке
2.0
пакета Yii Cycle ORM актуализировали документацию и удалили теперь не нужные мапперы SoftDeletedMapper
и TimestampedMapper
(PR).⚡️ #yiisoftRouter
Готовим Yii Router к релизу: подняли уровень psalm до 1 (PR) и удалили интерфейсы
Удалённые интерфейсы вводились для разделения контекстов использования (конфигурирование и получение данных), но практика показала, что это было неудачное решение (типизация по факту некорректная + интерфейсы вводят в заблуждение). Но, чтобы всё-таки повысить удобство публичного API, мы объединили методы, которые требуются только внутри пакета, и пометили их как
• в классе
• в классе
• в классе
• метод
—————
⚡️ #yiisoftRouterFastroute #yiisoftRequestModel #yiisoftYiiDebugApi #yiisoftYiiDataview #yiisoftDocs #yiisoftDemo #yiisoftApp #yiisoftDemoApi
Соответствующие изменения были внесены в документацию (PR), приложения и пакеты:
- Yii Router FastRoute Adapter (PR),
- Yii Request Model (PR, PR),
- Yii Debug API (PR),
- Yii Data Widgets (PR),
- Шаблон веб-приложения (PR),
- Демо веб-приложения (PR),
- Демо API-приложения (PR).
Готовим Yii Router к релизу: подняли уровень psalm до 1 (PR) и удалили интерфейсы
CurrentRouteInterface.php
, GroupInterface
, RouteInterface
, RouteParametersInterface
(PR).Удалённые интерфейсы вводились для разделения контекстов использования (конфигурирование и получение данных), но практика показала, что это было неудачное решение (типизация по факту некорректная + интерфейсы вводят в заблуждение). Но, чтобы всё-таки повысить удобство публичного API, мы объединили методы, которые требуются только внутри пакета, и пометили их как
@internal
:• в классе
Route
методы getDispatcherWithMiddlewares()
, getName()
, getMethods()
, getPattern()
, getHost()
, isOverride()
, getDefaults()
, hasMiddlewares()
, getDispatcherWithMiddlewares()
объединены в один getData()
;• в классе
Group
методы getCorsMiddleware()
, hasCorsMiddleware()
, getMiddlewareDefinitions()
, getItems()
, getPrefix()
, getNamePrefix()
, getHost()
объединены в один getData()
;• в классе
CurrentRoute
методы setRoute()
и setArguments()
объединены в один setRouteWithArguments()
;• метод
CurrentRoute::setUri()
также помечен как @internal
.—————
⚡️ #yiisoftRouterFastroute #yiisoftRequestModel #yiisoftYiiDebugApi #yiisoftYiiDataview #yiisoftDocs #yiisoftDemo #yiisoftApp #yiisoftDemoApi
Соответствующие изменения были внесены в документацию (PR), приложения и пакеты:
- Yii Router FastRoute Adapter (PR),
- Yii Request Model (PR, PR),
- Yii Debug API (PR),
- Yii Data Widgets (PR),
- Шаблон веб-приложения (PR),
- Демо веб-приложения (PR),
- Демо API-приложения (PR).
⚡️ #yiisoftYiiBulma
В пакете Yii Bulma доработали документацию и doc-блоки (PR), а также исправили конфигурацию пакета (PR). Теперь конфигурация класса
В пакете Yii Bulma доработали документацию и doc-блоки (PR), а также исправили конфигурацию пакета (PR). Теперь конфигурация класса
Yiisoft\Form\Widget\Field
находится в группе widgets
.⚡️ #yiisoftRouter
В пакете Yii Router сделали 100% покрытие тестами и исправили ошибку при формировании дерева роутов: в случаях, когда несколько групп имели один префикс, часть роутов не попадала в дерево (PR).
В пакете Yii Router сделали 100% покрытие тестами и исправили ошибку при формировании дерева роутов: в случаях, когда несколько групп имели один префикс, часть роутов не попадала в дерево (PR).
⚡️ #yiisoftRouter #yiisoftRouterFastroute
Продолжаем подготовку Yii Router и Yii Router FastRoute Adapter к релизу.
• Существенно дополнили документацию по роутеру (PR).
• Изменили поведение роута в случае, если ему передать диспетчер мидлварей уже с мидлварями: теперь они будут перезаписаны мидлварями роута (PR).
• Отключили добавление мидлварей из коллектора к статическим роутам и добавили поддержку variadic-аргументов для методов (PR, PR):
-
-
-
-
-
-
-
-
-
-
• Добавили тестов, немного почистил и отрефакторили пакет Yii Router FastRoute Adapter (PR).
Продолжаем подготовку Yii Router и Yii Router FastRoute Adapter к релизу.
• Существенно дополнили документацию по роутеру (PR).
• Изменили поведение роута в случае, если ему передать диспетчер мидлварей уже с мидлварями: теперь они будут перезаписаны мидлварями роута (PR).
• Отключили добавление мидлварей из коллектора к статическим роутам и добавили поддержку variadic-аргументов для методов (PR, PR):
-
Route::middleware()
,-
Route::prependMiddleware()
,-
Route::disableMiddleware()
,-
Group::middleware()
,-
Group::prependMiddleware()
,-
Group::disableMiddleware()
,-
RouteCollector::addRoute()
,-
RouteCollector::addGroup()
,-
RouteCollector::middleware()
,-
RouteCollector::prependMiddleware()
.• Добавили тестов, немного почистил и отрефакторили пакет Yii Router FastRoute Adapter (PR).
⚡️ #yiisoftRouter #yiisoftRouterFastroute #yiisoftDemo
Внесли изменения в Yii Router и Yii Router FastRoute Adapter.
• В роутере заменили зависимость
• В FastRoute-адаптере подчистили readme и повысили уровень psalm до 2 (PR).
• Исправили генерацию URL в FastRoute-адаптере для адресов с локализацией, теперь при такой генерации не используются данные последнего активного роута (PR). Соответствующие изменения внесены в демо веб-приложения (PR).
Внесли изменения в Yii Router и Yii Router FastRoute Adapter.
• В роутере заменили зависимость
MiddlewareDispatcher
на MiddlewareFactoryInterface
и EventDispatcherInterface
(опционально); MiddlewareDispatcher
теперь создаётся в конструкторе роутера (PR). Для повышения производительности в долгоживущих приложениях диспетчер с мидлварями в роуте подготавливается один раз и в дальнейшем переиспользуется.• В FastRoute-адаптере подчистили readme и повысили уровень psalm до 2 (PR).
• Исправили генерацию URL в FastRoute-адаптере для адресов с локализацией, теперь при такой генерации не используются данные последнего активного роута (PR). Соответствующие изменения внесены в демо веб-приложения (PR).
⚡️ #yiisoftDemo
В демо веб-приложения исправили GitHub-процесс проверки зависимостей, зафиксировав версию
В демо веб-приложения исправили GitHub-процесс проверки зависимостей, зафиксировав версию
maglnet/composer-require-checker
на ^3.8
, так как текущие зависимости приложения конфликтуют с недавно вышедшей 4й версией maglnet/composer-require-checker
(PR).⚡️ #yiisoftRouter #yiisoftRouterFastroute
Добавили приведение значений параметров по умолчанию к строке и улучшили psalm-аннотации в Yii Router (PR), а также добавили приведение значений параметров при генерации URL к строке и повысили уровень psalm до 1 в Yii Router FastRoute Adapter (PR).
Добавили приведение значений параметров по умолчанию к строке и улучшили psalm-аннотации в Yii Router (PR), а также добавили приведение значений параметров при генерации URL к строке и повысили уровень psalm до 1 в Yii Router FastRoute Adapter (PR).
⚡️ #yiisoftYiiCycle
В ветке
В ветке
2.0
пакета Yii Cycle ORM добавили поддержку поведений сущности и определение EntityManagerInterface
в конфигурацию контейнера (PR).🎄 С Новым 2022 годом!
5 июля 2021 года мы запустили «Хроники Yii3», за это время опубликовали 473 записи и к нам присоединилось 363 подписчика.
В новом году мы продолжим вести хроники и, надеюсь, в 2022 году случится запись о релизе Yii3, к этому есть серьёзные предпосылки 😎
Во время предновогодней суеты команда Yii3 успела зарелизить несколько пакетов, но об этом далее...
5 июля 2021 года мы запустили «Хроники Yii3», за это время опубликовали 473 записи и к нам присоединилось 363 подписчика.
В новом году мы продолжим вести хроники и, надеюсь, в 2022 году случится запись о релизе Yii3, к этому есть серьёзные предпосылки 😎
Во время предновогодней суеты команда Yii3 успела зарелизить несколько пакетов, но об этом далее...
👍11🎉4
#yiisoftRouter #yiisoftRouterFastroute #ПервыйРелиз #МажорныйРелиз #Релиз
🎁 Yii Router 1.0.0
🎁 Yii Router FastRoute Adapter 1.0.0
Роутер (он же маршрутизатор) — одна из важнейших составляющих Yii3. Yii Router предоставляет PSR-7 совместимую маршрутизацию запросов и PSR-15 мидлварь, готовую для использования в приложении. Вместо реализации маршрутизации с нуля, пакет предоставляет интерфейс для конфигурации маршрутов и подразумевает использование совместно с пакетом-адаптером. В настоящее время доступен только Yii Router FastRoute Adapter.
Возможности роутера:
• Сопоставление URL-адресов и генерация URL-адресов с поддержкой HTTP-методов, хостов и значений по умолчанию.
• Хорошая поддержка в IDE для конфигурирования маршрутов.
• Группы маршрутов с неограниченной вложенностью.
• Поддержка PSR-15 мидлварей как для отдельных маршрутов, так и для групп.
• Готовая к использованию мидлварь
• Удобный сервис
• Поддержка CORS-мидлварей из коробки.
У пакетов, как и всегда, высокие технические показатели качества:
~100% уровень покрытия тестами,
~100% MSI,
~100% уровень покрытия типами.
Psalm уровень 1.
——————
⚡️ #yiisoftRouter #yiisoftRouterFastroute #yiisoftDemo
Перед релизом было внесено несколько изменений в Yii Router (PR):
• Из пакета удалили всё, что касается локалей. Сейчас в демо-приложении локализация в URL реализована с помощью мидлвари LocaleMiddleware, которая в дальнейшем, возможно, будет выделена в отдельный пакет или переедет в пакет Yii Middleware.
• В интерфейсе генератора URL
- добавили аргумент
- добавили метод
- добавили метод
В соответствии с изменениями в роутере доработали Yii Router FastRoute Adapter (PR, PR) и демо веб-приложения (PR, PR, PR).
🎁 Yii Router 1.0.0
🎁 Yii Router FastRoute Adapter 1.0.0
Роутер (он же маршрутизатор) — одна из важнейших составляющих Yii3. Yii Router предоставляет PSR-7 совместимую маршрутизацию запросов и PSR-15 мидлварь, готовую для использования в приложении. Вместо реализации маршрутизации с нуля, пакет предоставляет интерфейс для конфигурации маршрутов и подразумевает использование совместно с пакетом-адаптером. В настоящее время доступен только Yii Router FastRoute Adapter.
Возможности роутера:
• Сопоставление URL-адресов и генерация URL-адресов с поддержкой HTTP-методов, хостов и значений по умолчанию.
• Хорошая поддержка в IDE для конфигурирования маршрутов.
• Группы маршрутов с неограниченной вложенностью.
• Поддержка PSR-15 мидлварей как для отдельных маршрутов, так и для групп.
• Готовая к использованию мидлварь
Router
для сопоставления маршрутов.• Удобный сервис
CurrentRoute
, содержащий информацию о последнем подобранном маршруте.• Поддержка CORS-мидлварей из коробки.
У пакетов, как и всегда, высокие технические показатели качества:
~100% уровень покрытия тестами,
~100% MSI,
~100% уровень покрытия типами.
Psalm уровень 1.
——————
⚡️ #yiisoftRouter #yiisoftRouterFastroute #yiisoftDemo
Перед релизом было внесено несколько изменений в Yii Router (PR):
• Из пакета удалили всё, что касается локалей. Сейчас в демо-приложении локализация в URL реализована с помощью мидлвари LocaleMiddleware, которая в дальнейшем, возможно, будет выделена в отдельный пакет или переедет в пакет Yii Middleware.
• В интерфейсе генератора URL
UrlGeneratorInterface
:- добавили аргумент
queryParameters
, содержащий массив GET-параметров, в методах generate()
и generateAbsolute()
;- добавили метод
generateFromCurrent()
для генерации URL на основе текущего маршрута;- добавили метод
setDefaultArgument()
.В соответствии с изменениями в роутере доработали Yii Router FastRoute Adapter (PR, PR) и демо веб-приложения (PR, PR, PR).
👍7🔥2
#yiisoftConfig #МинорныйРелиз #Релиз
🎁 Yii Config 1.1.0
Добавили интерфейс
—————
⚡️ #yiisoftYiiRunnerHttp #yiisoftYiiRunnerConsole #yiisoftYiiRunnerRoadrunner
Соответствующие изменения внесены в раннеры:
Yii HTTP Runner (PR),
Yii Console Runner (PR),
Yii RoadRunner Runner (PR).
🎁 Yii Config 1.1.0
Добавили интерфейс
ConfigInterface
, позволяющий сделать свою реализацию загрузчика конфигураций:interface ConfigInterface
{
public function get(string $group): array;
public function has(string $group): bool;
}
—————
⚡️ #yiisoftYiiRunnerHttp #yiisoftYiiRunnerConsole #yiisoftYiiRunnerRoadrunner
Соответствующие изменения внесены в раннеры:
Yii HTTP Runner (PR),
Yii Console Runner (PR),
Yii RoadRunner Runner (PR).
👍1🔥1
⚡️ #yiisoftDocs
В документации добавили секцию о предзагрузке скриптов в разделе «Настройка производительности» (PR).
В документации добавили секцию о предзагрузке скриптов в разделе «Настройка производительности» (PR).
👍1
⚡️ #yiisoftYiiDataview
В пакете Yii Data Widgets в виджетах
В пакете Yii Data Widgets в виджетах
LinkSorter
и LinkPager
сделали небольшой рефакторинг и выделили в отдельное свойство GET-параметры для генерации ссылок (PR).#yiisoftConfig #ПатчРелиз #Релиз
🎁 Yii Config 1.1.1
• Улучшили сообщение об ошибке «дублирование ключа в конфигурации»: теперь в нём отображается имя группы, в которой произошла ошибка (PR).
Было:
Стало:
🎁 Yii Config 1.1.1
• Улучшили сообщение об ошибке «дублирование ключа в конфигурации»: теперь в нём отображается имя группы, в которой произошла ошибка (PR).
Было:
Duplicate key "age" in configs:
- config/params/a.php
- config/params/b.php
Стало:
Duplicate key "age" in the following configs while building "params" group:
- config/params/a.php
- config/params/b.php