⚡️#yiisoftDi
В readme DI-контейнера исправлен бейдж, отображающий процент покрытия типами (PR). Почему-то ранее отображалось покрытие из пакета Yii CSRF.
В readme DI-контейнера исправлен бейдж, отображающий процент покрытия типами (PR). Почему-то ранее отображалось покрытие из пакета Yii CSRF.
⚡️#yiisoftViewTwig
В readme пакета Yii View Twig Renderer добавлены новые и улучшены существующие примеры использования (PR).
В readme пакета Yii View Twig Renderer добавлены новые и улучшены существующие примеры использования (PR).
⚡️#yiisoftRouter
В пакете Yii Router доработаны группы роутов (PR):
• добавлен метод
• добавлен метод
• в контексте создания группы роутов (конфигурирование роутов в приложении) для группы роутов IDE теперь будет предлагать только сеттеры.
В пакете Yii Router доработаны группы роутов (PR):
• добавлен метод
Group::host()
, который задаёт хост для группы роутов;• добавлен метод
Group::namePrefix()
, добавляющих префикс к имени всех роутов из группы;• в контексте создания группы роутов (конфигурирование роутов в приложении) для группы роутов IDE теперь будет предлагать только сеттеры.
⚡️#yiisoftRouter
Ещё немного почистили интерфейсы в Yii Router (PR):
• в
• в
Ещё немного почистили интерфейсы в Yii Router (PR):
• в
RouteCollectorInterface
удалены методы withDispatcher()
и hasDispatcher()
;• в
RouteInterface
удалены методы injectDispatcher()
, withDispatcher()
, hasMiddlewares()
и hasDispatcher()
.⚡️#yiisoftWidget
Причесали Yii Widget (PR):
- изменили версию PSR-контейнера с
- добавили ещё тестов;
- Mutation Score Indicator увеличен до 100%;
- исключили все служебные файлы при создании архива репозитория;
- немного улучшили конфигурации GitHub Workflow и других служебных файлов.
Причесали Yii Widget (PR):
- изменили версию PSR-контейнера с
1.0.0
на ^1.0
;- добавили ещё тестов;
- Mutation Score Indicator увеличен до 100%;
- исключили все служебные файлы при создании архива репозитория;
- немного улучшили конфигурации GitHub Workflow и других служебных файлов.
⚡️#yiisoftFactory
Доработки в Yii Factory (PR):
• В фабрике в методе
• В фабрике по-умолчанию для интерфейса
• Удалён класс
• Удалён метод
• Исправлены и доработаны сообщения об ошибках в
• Доработаны сообщения об ошибках в
• Добавлены тесты, покрытие увеличено до 100%;
• Немного подрефакторена конфигурация PHPUnit.
Доработки в Yii Factory (PR):
• В фабрике в методе
Factory::create()
удалён второй параметр, через который можно было передать аргументы для конструктора.• В фабрике по-умолчанию для интерфейса
ContainerInterface
задаётся переданный в фабрику контейнер, либо сама фабрика, если контейнер не задали.• Удалён класс
InvalidDefinition
.• Удалён метод
DefinitionExtractor::fromCallable()
.• Исправлены и доработаны сообщения об ошибках в
ClassDefinition
.• Доработаны сообщения об ошибках в
DefinitionValidator
.• Добавлены тесты, покрытие увеличено до 100%;
• Немного подрефакторена конфигурация PHPUnit.
⚡️#yiisoftFactory #yiisoftYiiConsole #yiisoftYiiDebugApi
Изменения в требуемых версиях контейнера
• Yii Factory (PR)
Изменения в требуемых версиях контейнера
psr/container
:• Yii Factory (PR)
1.0.0
→ ^1.0.0
• Yii Console (PR) 1.0.0
→ ^1.0|^2.0
• Yii Debug API (PR) 1.0
→ ^1.0|^2.0
⚡️#yiisoftFactory
Небольшие улучшения в Yii Factory (PR):
• добавлена поддержка всех существующих версий
• уровень стабильности зависимостей (
Небольшие улучшения в Yii Factory (PR):
• добавлена поддержка всех существующих версий
psr/container
(^1.0|^2.0
);• уровень стабильности зависимостей (
minimum-stability
) повышен до стабильного.⚡️#yiisoftMiddlewareDispatcher
Провели замеры производительности Yii Middleware Dispatcher (см. PR). Оказалось, что в текущей реализации серьёзно течёт память. Нашли несколько узких мест и исправили проблему.
• В публичном методе
• В приватном методе
Исследования вопроса производительности продолжаются, возможно будут ещё изменения и более правильные решения.
Провели замеры производительности Yii Middleware Dispatcher (см. PR). Оказалось, что в текущей реализации серьёзно течёт память. Нашли несколько узких мест и исправили проблему.
• В публичном методе
MiddlewareDispatcher::withMiddlewares()
перед $new->stack = null;
добавили unset($new->stack);
. Это позволяет удалять стек сразу, не дожидаясь сборщика мусора.• В приватном методе
MiddlewareDispatcher::buildMiddlewares()
заменили использование динамической функции на статическую, что пусть немного, но улучшило производительность.Исследования вопроса производительности продолжаются, возможно будут ещё изменения и более правильные решения.
⚡️#yiisoftMiddlewareDispatcher
Причесали Yii Middleware Dispatcher (PR):
- финализировали классы тестов;
- обновили dev-зависимости;
- исключили все служебные файлы при создании архива репозитория;
- немного улучшили конфигурации GitHub Workflow и других служебных файлов.
Причесали Yii Middleware Dispatcher (PR):
- финализировали классы тестов;
- обновили dev-зависимости;
- исключили все служебные файлы при создании архива репозитория;
- немного улучшили конфигурации GitHub Workflow и других служебных файлов.
⚡️#yiisoftYiiBulma
Причесали Yii Bulma (PR):
- финализирован класс
- aктуализированы версии зависимостей;
- в тестах
- исправлены ошибки psalm;
- улучшена конфигурация psalm.
Причесали Yii Bulma (PR):
- финализирован класс
Breadcrumbs
;- aктуализированы версии зависимостей;
- в тестах
yiisoft/di
заменён на yiisoft/test-support
;- исправлены ошибки psalm;
- улучшена конфигурация psalm.
⚡️#yiisoftFactory
Изменено исключение в Yii Factory, выбрасываемое при попытке создать объект несуществующего класса (PR): вместо
Изменено исключение в Yii Factory, выбрасываемое при попытке создать объект несуществующего класса (PR): вместо
ReflectionException
теперь выбрасывается Yiisoft\Factory\Exception\NotFoundException
.⚡️ #yiisoftFactory
Ещё немного улучшений в Yii Factory (PR):
- удалён публичный метод
- метод
- мелкие изменения в сообщениях исключений и phpdoc;
- добавлены новые тесты.
Ещё немного улучшений в Yii Factory (PR):
- удалён публичный метод
ArrayDefinition::mergeConstructorArguments()
;- метод
Factory::getDefinition()
помечен как приватный;- мелкие изменения в сообщениях исключений и phpdoc;
- добавлены новые тесты.
⚡️ #yiisoftYiiBulma
Навели порядок в Yii Bulma (PR):
- подчистили код, улучшили описания в phpdoc;
- актуализировали и доработали документацию;
- исключили все служебные файлы при создании архива репозитория;
- улучшили конфигурации GitHub Workflow и другие служебные файлы.
Навели порядок в Yii Bulma (PR):
- подчистили код, улучшили описания в phpdoc;
- актуализировали и доработали документацию;
- исключили все служебные файлы при создании архива репозитория;
- улучшили конфигурации GitHub Workflow и другие служебные файлы.
⚡️ #yiisoftYiiWidgets
Доработали виджеты из пакета Yii Widgets (PR).
• Добавили иммутабельность для всех виджетов.
• Изменения в методах виджета
-
• В виджете
Доработали виджеты из пакета Yii Widgets (PR).
• Добавили иммутабельность для всех виджетов.
• Изменения в методах виджета
Breadcrumbs
:-
encodeLabels()
→ withoutEncodeLabels()
- homeLink()
→ withoutHomeItem()
+ homeItem()
- links()
→ items()
• В виджете
ContentDecorator
метод params()
переименован в parameters()
.⚡️ #yiisoftYiiWidgets #yiisoftYiiBulma
В виджетах "Хлебные крошки" из пакетов Yii Widgets (PR) и Yii Bulma (PR) внесены изменения в публичные методы, касающиеся элемента "домашняя страница".
• Удалён метод
• В метод
В виджетах "Хлебные крошки" из пакетов Yii Widgets (PR) и Yii Bulma (PR) внесены изменения в публичные методы, касающиеся элемента "домашняя страница".
• Удалён метод
Breadcrumbs::withoutHomeItem()
;• В метод
Breadcrumbs::homeItem()
разрешено передавать null
(при передаче пустого массива будет вызвано исключение).⚡️ #yiisoftYiiWidgets
Добавили документацию к пакету Yii Widgets (PR) и почистили код (PR):
- вместо
- уровень psalm повышен до 2;
- добавлено ещё немного тестов;
- улучшены описания в phpdoc;
- исключены все служебные файлы при создании архива репозитория;
- улучшены конфигурации GitHub Workflow и другие служебные файлы.
Добавили документацию к пакету Yii Widgets (PR) и почистили код (PR):
- вместо
yiisoft/event-dispatcher
в dev-зависимостях теперь используется yiisoft/psr-dummy-provider
;- уровень psalm повышен до 2;
- добавлено ещё немного тестов;
- улучшены описания в phpdoc;
- исключены все служебные файлы при создании архива репозитория;
- улучшены конфигурации GitHub Workflow и другие служебные файлы.
⚡️ #yiisoftYiiBootstrap5
В пакете Yii Bootstrap 5 удалён класс
В Bootstrap 5 выделили иконки в отдельный независимый пакет Bootstrap Icons. Сам Bootstrap 5 может использовать как Bootstrap Icons, так и любой другой набор иконок.
В пакете Yii Bootstrap 5 удалён класс
BootstrapIconsAsset
и зависимость от npm-asset/bootstrap-icons
(PR). В Bootstrap 5 выделили иконки в отдельный независимый пакет Bootstrap Icons. Сам Bootstrap 5 может использовать как Bootstrap Icons, так и любой другой набор иконок.
⚡️ #yiisoftDocs
Исправлены опечатки и битые ссылки в документации (PR, PR, PR).
Спасибо Toir Tuychiev за пул-реквесты 👍
Исправлены опечатки и битые ссылки в документации (PR, PR, PR).
Спасибо Toir Tuychiev за пул-реквесты 👍
⚡️ #yiisoftRouter #yiisoftRouterFastroute
В Yii Router изменён класс
•
• Все публичные методы
• Создан отдельный класс
• Увеличено покрытие кода тестами.
Соответствующие изменения внесены в Yii Router FastRoute Adapter (PR).
В Yii Router изменён класс
Group
, реализующий работу с группой роутов (PR).•
Group
теперь реализует новый интерфейс GroupInterface
.• Все публичные методы
Group
сделаны иммутабельными.• Создан отдельный класс
RouteCollector
, реализующий интерфейс коллекции роутов RouteCollectorInterface
.• Увеличено покрытие кода тестами.
Соответствующие изменения внесены в Yii Router FastRoute Adapter (PR).