⚡️ #yiisoftApp
Рефакторинг точек входа в шаблоне приложении Yii Application Template (PR).
• Код запуска консольного приложения вынесен из
• Класс для запуска веб-приложения переименован из
• Для запуска bootstrap-кода создан класс
• Прочие мелкие улучшения.
Рефакторинг точек входа в шаблоне приложении Yii Application Template (PR).
• Код запуска консольного приложения вынесен из
yii
в новый класс ConsoleApplicationRunner
.• Класс для запуска веб-приложения переименован из
ApplicationRunner
в WebApplicationRunner
.• Для запуска bootstrap-кода создан класс
BootstrapRunner
.• Прочие мелкие улучшения.
⚡️ #yiisoftYiiSwagger
Поправили тесты в пакете Yii Swagger, они не проходили из-за изменений в Yii View Extension и Yii Data Response (PR).
Поправили тесты в пакете Yii Swagger, они не проходили из-за изменений в Yii View Extension и Yii Data Response (PR).
⚡️ #yiisoftConfig
В пакете Yii Config добавлен тест на подключение файлов конфигураций из вложенных папок (PR).
Например, для такого пути
Поддержку рекурсивной вложенности (например, так
В пакете Yii Config добавлен тест на подключение файлов конфигураций из вложенных папок (PR).
Например, для такого пути
config/common/*/*.php
будут подключены все PHP-файлы из первого уровня вложенности.Поддержку рекурсивной вложенности (например, так
config/common/**/*.php
) намеренно не стали делать, так как сборка конфигов происходит в рантайме, а рекурсивный обход папок негативно скажется на производительности.⚡️ #yiisoftYiiEvent
В пакете Yii Event улучшены сообщения об ошибках (PR): помимо информации о некорректном слушателе или имени события теперь выводится сам этот слушатель/событие, что позволяет быстрее понять где закралась ошибка.
В пакете Yii Event улучшены сообщения об ошибках (PR): помимо информации о некорректном слушателе или имени события теперь выводится сам этот слушатель/событие, что позволяет быстрее понять где закралась ошибка.
⚡️ #yiisoftDemo
По аналогии с шаблоном веб-приложения выполнен рефакторинг точек входа в демо веб-приложения (PR).
• Код запуска консольного приложения вынесен из
• Класс для запуска веб-приложения переименован из
• Для запуска bootstrap-кода создан класс
• Прочие мелкие улучшения.
По аналогии с шаблоном веб-приложения выполнен рефакторинг точек входа в демо веб-приложения (PR).
• Код запуска консольного приложения вынесен из
yii
в новый класс ConsoleApplicationRunner
.• Класс для запуска веб-приложения переименован из
ApplicationRunner
в WebApplicationRunner
.• Для запуска bootstrap-кода создан класс
BootstrapRunner
.• Прочие мелкие улучшения.
⚡️ #yiisoftDi #yiisoftDefinitions
Выполнен рефакторинг работы с делегатами контейнера в Yii Dependency Injection (PR, PR).
• Делегат представляет собой функцию обратного вызова вида
• Делегаты добавляются в контейнер через конструктор.
Также в рамках этих изменений в исключении
Выполнен рефакторинг работы с делегатами контейнера в Yii Dependency Injection (PR, PR).
• Делегат представляет собой функцию обратного вызова вида
function (ContainerInterface $container): ContainerInterface
, возвращающую контейнер, из которого будет выполнена попытка получения сервиса, если он не был найден в основном контейнере.• Делегаты добавляются в контейнер через конструктор.
Также в рамках этих изменений в исключении
Yiisoft\Definitions\Exception\NotFoundException
добавлен второй параметр, в который передаётся стек разрешения зависимостей при создании сервиса. Это позволит гораздо быстрее понять, где конкретно возникла ошибка.⚡️#yiisoftYiiConsole
В консоли Yii Console у команд добавлена поддержка статического свойства
Если у команды заданы статические свойства
В консоли Yii Console у команд добавлена поддержка статического свойства
$defaultDescription
, которое содержит описание команды (PR). Если у команды заданы статические свойства
$defaultName
и $defaultDescription
, то при выводе списка команд в консоли такие команды не будут инициализироваться.⚡️ #yiisoftConfig
В пакете Yii Config при выводе сравнения файлов в консоли изменён порядок сравнения файлов: раньше сравнивался файл из вендора с файлом из приложения, теперь наоборот (PR).
В пакете Yii Config при выводе сравнения файлов в консоли изменён порядок сравнения файлов: раньше сравнивался файл из вендора с файлом из приложения, теперь наоборот (PR).
⚡️ #yiisoftYiiQueue
Сделали рефакторинг и исправили ошибки в консольных командах пакета Yii Queue: теперь они работают и поддерживают "ленивую" загрузку (PR).
Спасибо Алексею Черноусову за PR и Александру Борисову за ревью 👍
Сделали рефакторинг и исправили ошибки в консольных командах пакета Yii Queue: теперь они работают и поддерживают "ленивую" загрузку (PR).
Спасибо Алексею Черноусову за PR и Александру Борисову за ревью 👍
🎁 #yiisoftAssets #yiisoftCsrf #yiisoftDataResponse #yiisoftMailerSwiftmailer #yiisoftTranslator #yiisoftView #Релиз #ПатчРелиз
В связи с переходом на использование дефинишенов из пакета Yii Definitions сделаны патч-релизы пакетов, использующих их в своих конфигурациях:
• Yii Assets 1.0.1
• Yii CSRF 1.0.3
• Yii Data Response 1.0.1
• Yii Mailer Swiftmailer 3.0.1
• Yii Message Translator 1.0.1
• Yii View 2.0.1
В связи с переходом на использование дефинишенов из пакета Yii Definitions сделаны патч-релизы пакетов, использующих их в своих конфигурациях:
• Yii Assets 1.0.1
• Yii CSRF 1.0.3
• Yii Data Response 1.0.1
• Yii Mailer Swiftmailer 3.0.1
• Yii Message Translator 1.0.1
• Yii View 2.0.1
⚡️ #yiisoftApp
В шаблоне приложения Yii Application Template добавлен ежедневный запуск тестов через GitHub Workflow (PR).
В шаблоне приложения Yii Application Template добавлен ежедневный запуск тестов через GitHub Workflow (PR).
⚡️ #yiisoftFactory
В Yii Factory изменена логика создания объектов и разрешения зависимостей (PR). Новая логика представлена на блок-схеме.
В Yii Factory изменена логика создания объектов и разрешения зависимостей (PR). Новая логика представлена на блок-схеме.
⚡️#yiisoftYiiConsole
В документации к консоли Yii Console добавлена информация о минимальной конфигурации для Yii Config (PR).
Спасибо Евгению Ткаченко за PR 👍
В документации к консоли Yii Console добавлена информация о минимальной конфигурации для Yii Config (PR).
Спасибо Евгению Ткаченко за PR 👍
✨ #yiisoftClassifier
Создан новый пакет Yii Classifier, который будет предоставлять функционал для поиска классов и/или интерфейсов по каким-либо признакам:
• пространство имён,
• название,
• аннотации,
• атрибуты
• и т. д.
Это может быть полезно, например, в DI-контейнере для автоматического создания тегов.
Создан новый пакет Yii Classifier, который будет предоставлять функционал для поиска классов и/или интерфейсов по каким-либо признакам:
• пространство имён,
• название,
• аннотации,
• атрибуты
• и т. д.
Это может быть полезно, например, в DI-контейнере для автоматического создания тегов.
⚡️ #yiisoftApp
Улучшен сценарий запуска приложения в Yii Application Template + мелкие правки (PR).
• Для определения режима отладки используется переменная окружения
• При отключении режима отладки в DI-контейнере отключается немедленная валидация дефинишенов.
• Текущее окружение, которые определяется по значению переменной окружения
• В качестве кода ответа в консольных командах используются константы из класс
• Добавлены тесты для консольных команд.
Улучшен сценарий запуска приложения в Yii Application Template + мелкие правки (PR).
• Для определения режима отладки используется переменная окружения
YII_DEBUG
(по умолчанию true
).• При отключении режима отладки в DI-контейнере отключается немедленная валидация дефинишенов.
• Текущее окружение, которые определяется по значению переменной окружения
YII_ENV
(по умолчанию null
) используется при формировании конфигурации (см. документацию к Yii Config).• В качестве кода ответа в консольных командах используются константы из класс
Yiisoft\Yii\Console\ExitCode
.• Добавлены тесты для консольных команд.
⚡️ #yiisoftDefinitions #yiisoftFactory #yiisoftDi
Выполнен рефакторинг в пакете Yii Definitions (PR).
• Для разрешения зависимостей при получении объекта из
• Интерфейс
• В интерфейсе
Необходимые изменения внесены в пакеты Yii Factory (PR) и Yii Dependency Injection (PR).
Выполнен рефакторинг в пакете Yii Definitions (PR).
• Для разрешения зависимостей при получении объекта из
CallableDefinition
вместо обращения к DependencyResolverInterface::invoke()
используется внутренний функционал пакета. Это позволило исключить пакет yiisoft/injector
из зависимостей в Yii Factory и Yii Dependency Injection.• Интерфейс
DependencyResolverInterface
теперь НЕ наследуется от ContainerInterface
, а используемый метод get()
переименован в resolve()
.• В интерфейсе
DependencyResolverInterface
удалён метод invoke()
, так как теперь он нигде не используется.Необходимые изменения внесены в пакеты Yii Factory (PR) и Yii Dependency Injection (PR).
⚡️ #yiisoftApp #yiisoftAppApi #yiisoftDemo #yiisoftDemoApi
В приложениях добавлена поддержка делегатов для контейнера, созданы соответствующие файлы конфигурации:
- шаблон веб-приложения (PR),
- шаблон API-приложения (commit),
- демо веб-приложения (PR),
- демо API-приложения (PR).
В приложениях добавлена поддержка делегатов для контейнера, созданы соответствующие файлы конфигурации:
- шаблон веб-приложения (PR),
- шаблон API-приложения (commit),
- демо веб-приложения (PR),
- демо API-приложения (PR).
⚡️ #yiisoftArrays
В хелпере
Спасибо Максиму Тимофееву за идею 👍
В хелпере
ArrayHelper
из пакета Yii Arrays в методах map()
, index()
, group()
, htmlEncode()
и htmlDecode()
добавлена поддержка iterable-объектов (PR).Спасибо Максиму Тимофееву за идею 👍