⚡️ #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).Спасибо Максиму Тимофееву за идею 👍
⚡️ #yiisoftYiiEvent
В пакете Yii Event в случаях, когда используется некорректный слушатель, выводится более подробное сообщение об ошибке (PR).
Примеры сообщений:
В пакете Yii Event в случаях, когда используется некорректный слушатель, выводится более подробное сообщение об ошибке (PR).
Примеры сообщений:
Could not instantiate "App\Events\MyEvent" or "handle" method is not defined in this class.
"handle" method is not defined in "App\Events\MyEvent" class.
Listener must be a callable. Got App\Events\MyEvent.
⚡️ #yiisoftPackageTemplate
Для проверки и автоматического исправления стиля кода во всех пакетах используется сервис StyleCI. На днях на сервисе раскатали обновление, после которого сервис стал выдавать ошибку при работе с нашей конфигурацией.
Исправили конфигурацию в пакете-шаблоне Yii Package Template (PR) и обновили её во всех пакетах Yii3.
Для проверки и автоматического исправления стиля кода во всех пакетах используется сервис StyleCI. На днях на сервисе раскатали обновление, после которого сервис стал выдавать ошибку при работе с нашей конфигурацией.
Исправили конфигурацию в пакете-шаблоне Yii Package Template (PR) и обновили её во всех пакетах Yii3.
⚡️ #yiisoftDemo #yiisoftDemoApi
В одном из последних обновлений демо-приложений в них случайно попали конфигурационные файлы, которые не нужны на данном этапе разработки. Убрали лишние конфигурации в демо веб-приложения (PR) и демо API-приложения (PR).
В одном из последних обновлений демо-приложений в них случайно попали конфигурационные файлы, которые не нужны на данном этапе разработки. Убрали лишние конфигурации в демо веб-приложения (PR) и демо API-приложения (PR).
⚡️ #yiisoftYiiCycle
Конфигурация в пакете Yii Cycle адаптирована для работы с делегатами DI-контейнера (PR). Это позволило в приложениях получать репозитории Cycle прямо из основного контейнера.
Конфигурация в пакете Yii Cycle адаптирована для работы с делегатами DI-контейнера (PR). Это позволило в приложениях получать репозитории Cycle прямо из основного контейнера.
⚡️ #yiisoftData
В пакете Yii Data исправлены phpdoc-аннотации (PR), которые в некоторых случаях приводили к некорректным ошибкам статического анализатора psalm при использовании пакета.
В пакете Yii Data исправлены phpdoc-аннотации (PR), которые в некоторых случаях приводили к некорректным ошибкам статического анализатора psalm при использовании пакета.