⚡️ #yiisoftConfig
Несколько улучшений в Yii Config (PR).
——————
• В модификаторе
Удалить элементы
• Добавлен новый модификатор
Удалить группу
Несколько улучшений в Yii Config (PR).
——————
• В модификаторе
RemoveFromVendor::keys()
добавлена возможность указать пакет(ы) и группы, на которые будет распространяться этот модификатор.Удалить элементы
a
и b
из всех групп в пакете yiisoft/auth
:RemoveFromVendor::keys(['a'], ['b'])Удалить элементы
->package('yiisoft/auth'),
c
и d
из групп params
и web
в пакете yiisoft/yii-web
:RemoveFromVendor::keys(['c'], ['d'])Удалить элементы
->package('yiisoft/yii-web', 'params', 'web'),
e
и f
из всех групп в пакете yiisoft/auth
и из групп params
и web
в пакете yiisoft/yii-web
:RemoveFromVendor::keys(['e'], ['f'])——————
->package('yiisoft/auth')
->package('yiisoft/yii-web', 'params', 'web'),
• Добавлен новый модификатор
RemoveFromVendor::groups()
, позволяющий исключить из конфигурации группы и пакеты.Удалить группу
params
из всех пакетов:RemoveFromVendor::groups([Удалить группы
'*' => 'params',
]),
common
и web
из всех пакетов:RemoveFromVendor::groups([Удалить все группы из пакета
'*' => ['common', 'web'],
]),
yiisoft/auth
:RemoveFromVendor::groups([Удалить группу
'yiisoft/auth' => '*',
]),
params
из пакета yiisoft/http
:RemoveFromVendor::groups([Удалить группы
'yiisoft/http' => 'params',
]),
params
и common
из пакета yii-web
:RemoveFromVendor::groups([
'yiisoft/yii-web' => ['params', 'common'],
]),
⚡️ #yiisoftConfig #yiisoftYiiRunnerRoadrunner #yiisoftYiiRunnerHttp #yiisoftYiiRunnerConsole #yiisoftYiiRunner
В Yii Config добавлена опция
Пример:
Эта опция добавлена в раннерах:
Yii RoadRunner Runner (PR),
Yii HTTP Runner (PR),
Yii Console Runner (PR),
Yii Runner (PR).
В Yii Config добавлена опция
build-merge-plan
в composer-плагине, позволяющая отключить автоматическое создание мёрж-плана (PR). Опция работает только для корневого пакета.Пример:
"extra": {
"config-plugin-options": {
"build-merge-plan": false
}
},
Эта опция добавлена в раннерах:
Yii RoadRunner Runner (PR),
Yii HTTP Runner (PR),
Yii Console Runner (PR),
Yii Runner (PR).
⚡️ #yiisoftConfig
В пакете Yii Config актуализировали примеры в readme и doc-блоках: заменили устаревший пакет
В пакете Yii Config актуализировали примеры в readme и doc-блоках: заменили устаревший пакет
yiisoft/yii-web
на yiisoft/view
(PR).⚡️ #yiisoftConfig
В пакете Yii Config добавили тесты, проверяющую работу с пустыми конфигурациями (PR).
В пакете Yii Config добавили тесты, проверяющую работу с пустыми конфигурациями (PR).
⚡️ #yiisoftConfig
Улучшения в Yii Config.
• Реализовали новый метод
Например:
• Добавили поддержку «пустых» окружений без групп конфигураций (PR).
Улучшения в Yii Config.
• Реализовали новый метод
Config::has()
, позволяющий узнать, существует ли группа конфигураций (PR).Например:
if ($config->has('web')) {
$web = $config->get('web');
}
• Добавили поддержку «пустых» окружений без групп конфигураций (PR).
⚡️ #yiisoftConfig
Добавлена возможность хранения конфигурации пакета Yii Config в виде массива в PHP-файле вместо секции
... и перенести настройки в этот файл:
Добавлена возможность хранения конфигурации пакета Yii Config в виде массива в PHP-файле вместо секции
extra
в composer.json
(PR). Для этого нужно указать путь к PHP-файлу в composer.json
:"extra": {
"config-plugin-file": "path/to/configuration/file.php"
},
... и перенести настройки в этот файл:
return [
'config-plugin-options' => [
'source-directory' => 'config',
],
'config-plugin' => [
'params' => [
'params.php',
'?params-local.php',
],
'web' => 'web.php',
],
'config-plugin-environments' => [
'dev' => [
'params' => 'dev/params.php',
'app' => [
'$web',
'dev/app.php',
],
],
'prod' => [
'app' => 'prod/app.php',
],
],
];
#yiisoftConfig #ПервыйРелиз #МажорныйРелиз #Релиз
🎁 Yii Config 1.0.0
Пакет обеспечивает сборку конфигурации для приложения из конфигураций, поставляемых вместе с зависимостями приложения, и конфигураций самого приложения.
При установке или изменении зависимостей приложения автоматически формируется план сборки конфигурации. Сама сборка происходит в процессе выполнения приложения, что значительно упрощает отладку и разработку.
Подробная информация об установке и использовании пакета представлена в readme.
У пакета, как обычно, высокие технические показатели качества:
- 100% покрытие тестами;
- 93,6% MSI;
- 99,1% уровень покрытия типами;
- Psalm уровень 1.
—————
Перед релизом было сделано несколько улучшений.
• Добавили опцию
• Улучшили описание в readme и конфигурации GitHub Actions, scrutinizer, psalm, StyleCI (PR).
🎁 Yii Config 1.0.0
Пакет обеспечивает сборку конфигурации для приложения из конфигураций, поставляемых вместе с зависимостями приложения, и конфигураций самого приложения.
При установке или изменении зависимостей приложения автоматически формируется план сборки конфигурации. Сама сборка происходит в процессе выполнения приложения, что значительно упрощает отладку и разработку.
Подробная информация об установке и использовании пакета представлена в readme.
У пакета, как обычно, высокие технические показатели качества:
- 100% покрытие тестами;
- 93,6% MSI;
- 99,1% уровень покрытия типами;
- Psalm уровень 1.
—————
Перед релизом было сделано несколько улучшений.
• Добавили опцию
vendor-override-layer
, позволяющая добавить слой конфигураций между приложением и вендором (PR).• Улучшили описание в readme и конфигурации GitHub Actions, scrutinizer, psalm, StyleCI (PR).
#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
#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
⚡️ #yiisoftConfig
Поправили тесты в Yii Config, которые перестали проходить с новыми версиями зависимостей (PR).
Поправили тесты в Yii Config, которые перестали проходить с новыми версиями зависимостей (PR).
⚡️ #yiisoftAccess #yiisoftErrorHandler #yiisoftEventDispatcher #yiisoftFactory #yiisoftHttp #yiisoftI18n #yiisoftAliases #yiisoftJson #yiisoftProfiler #yiisoftInjector #yiisoftMailerSymfony #yiisoftMutex #yiisoftRateLimiter #yiisoftNetworkUtilities #yiisoftSession #yiisoftRouter #yiisoftStrings #yiisoftRouterFastroute #yiisoftRequestBodyParser #yiisoftTranslatorMessageGettext #yiisoftTranslatorExtractor #yiisoftTranslatorFormatterSimple #yiisoftTranslator #yiisoftTranslatorFormatterIntl #yiisoftTranslatorMessageDb #yiisoftUser #yiisoftVarDumper #yiisoftViewTwig #yiisoftYiiEvent #yiisoftTranslatorMessagePhp #yiisoftDataResponse #yiisoftCacheFile #yiisoftCookies #yiisoftCsrf #yiisoftAssets #yiisoftAuthJwt #yiisoftLog #yiisoftArrays #yiisoftYiiFilesystem #yiisoftYiiHttp #yiisoftYiiRunnerHttp #yiisoftLogTargetFile #yiisoftLogTargetEmail #yiisoftYiiRunnerRoadrunner #yiisoftSecurity #yiisoftYiiSwagger #yiisoftYiiSentry #yiisoftMutexFile #yiisoftMiddlewareDispatcher #yiisoftTestSupport #yiisoftYiiDebug #yiisoftYiiDebugViewer #yiisoftCacheApcu #yiisoftYiiDataview #yiisoftLogTargetSyslog #yiisoftAuth #yiisoftDefinitions #yiisoftRbacPhp #yiisoftDataDb #yiisoftData #yiisoftRequestModel #yiisoftDi #yiisoftConfig #yiisoftRbacRulesContainer
Продолжаем заменять рабочие процессы на переиспользуемые из Yii GitHub Actions:
- Yii Access (PR)
- Yii Error Handler (PR)
- Yii Event Dispatcher (PR)
- Yii Factory (PR)
- Yii HTTP (PR)
- Yii Internationalization Library (PR)
- Yii Aliases (PR)
- Yii JSON (PR)
- Yii Profiler (PR)
- Yii Injector (PR)
- Yii Mailer Symfony Mailer Extension (PR)
- Yii Mutex (PR)
- Yii Rate Limiter Middleware (PR)
- Yii Network Utilities (PR)
- Yii Session (PR)
- Yii Router (PR)
- Yii Strings (PR)
- Yii Router FastRoute Adapter (PR)
- Yii Request Body Parser (PR)
- Yii Translator gettext Message Storage (PR)
- Yii Message Extractor (PR)
- Yii Translator Simple Message Formatter (PR)
- Yii Message Translator (PR)
- Yii Translator intl Message Formatter (PR)
- Yii Translator DB Message Storage (PR)
- Yii User (PR)
- Yii VarDumper (PR)
- Yii View Twig Renderer (PR)
- Yii Event (PR)
- Yii Translator PHP Message Storage (PR)
- Yii Data Response (PR)
- Yii Cache File Handler (PR)
- Yii Cookies (PR)
- Yii CSRF Protection Library (PR)
- Yii Assets (PR)
- Yii Auth JWT (PR)
- Yii Logging Library (PR)
- Yii Arrays (PR)
- Yii Filesystem (PR)
- Yii HTTP Application (PR)
- Yii HTTP Runner (PR)
- Yii Logging File Target (PR)
- Yii Logging Email Target (PR)
- Yii RoadRunner Runner (PR)
- Yii Security (PR)
- Yii Swagger (PR)
- Yii Sentry (PR)
- Yii Mutex File Driver (PR)
- Yii Middleware Dispatcher (PR)
Продолжаем заменять рабочие процессы на переиспользуемые из Yii GitHub Actions:
- Yii Access (PR)
- Yii Error Handler (PR)
- Yii Event Dispatcher (PR)
- Yii Factory (PR)
- Yii HTTP (PR)
- Yii Internationalization Library (PR)
- Yii Aliases (PR)
- Yii JSON (PR)
- Yii Profiler (PR)
- Yii Injector (PR)
- Yii Mailer Symfony Mailer Extension (PR)
- Yii Mutex (PR)
- Yii Rate Limiter Middleware (PR)
- Yii Network Utilities (PR)
- Yii Session (PR)
- Yii Router (PR)
- Yii Strings (PR)
- Yii Router FastRoute Adapter (PR)
- Yii Request Body Parser (PR)
- Yii Translator gettext Message Storage (PR)
- Yii Message Extractor (PR)
- Yii Translator Simple Message Formatter (PR)
- Yii Message Translator (PR)
- Yii Translator intl Message Formatter (PR)
- Yii Translator DB Message Storage (PR)
- Yii User (PR)
- Yii VarDumper (PR)
- Yii View Twig Renderer (PR)
- Yii Event (PR)
- Yii Translator PHP Message Storage (PR)
- Yii Data Response (PR)
- Yii Cache File Handler (PR)
- Yii Cookies (PR)
- Yii CSRF Protection Library (PR)
- Yii Assets (PR)
- Yii Auth JWT (PR)
- Yii Logging Library (PR)
- Yii Arrays (PR)
- Yii Filesystem (PR)
- Yii HTTP Application (PR)
- Yii HTTP Runner (PR)
- Yii Logging File Target (PR)
- Yii Logging Email Target (PR)
- Yii RoadRunner Runner (PR)
- Yii Security (PR)
- Yii Swagger (PR)
- Yii Sentry (PR)
- Yii Mutex File Driver (PR)
- Yii Middleware Dispatcher (PR)
🤯6👍5
⚡️ #yiisoftAccess #yiisoftErrorHandler #yiisoftDefinitions #yiisoftCache #yiisoftCsrf #yiisoftData #yiisoftAuth #yiisoftArrays #yiisoftCacheDb #yiisoftCacheFile #yiisoftCacheMemcached #yiisoftCacheRedis #yiisoftConfig #yiisoftCookies #yiisoftDataDb #yiisoftDataResponse #yiisoftDi #yiisoftActiveRecord #yiisoftDb #yiisoftDbMysql #yiisoftClassifier
Сделали небольшой рефакторинг в пакетах. Методы, вызываемые «цепочкой», перенесли на новую строку:
- Yii Access (PR)
- Yii Error Handler (PR)
- Yii Definitions (PR)
- Yii Caching Library (PR)
- Yii CSRF Protection Library (PR)
- Yii Data (PR)
- Yii Auth (PR)
- Yii Arrays (PR)
- Yii Cache DB Handler (PR)
- Yii Cache File Handler (PR)
- Yii Cache Memcached Handler (PR)
- Yii Cache Redis Handler (PR)
- Yii Config (PR)
- Yii Cookies (PR)
- Yii Data DB (PR)
- Yii Data Response (PR)
- Yii Dependency Injection (PR)
- Yii Active Record (PR)
- Yii DB (PR)
- Yii DB MySQL Extension (PR)
- Yii Classifier (PR)
Сделали небольшой рефакторинг в пакетах. Методы, вызываемые «цепочкой», перенесли на новую строку:
- Yii Access (PR)
- Yii Error Handler (PR)
- Yii Definitions (PR)
- Yii Caching Library (PR)
- Yii CSRF Protection Library (PR)
- Yii Data (PR)
- Yii Auth (PR)
- Yii Arrays (PR)
- Yii Cache DB Handler (PR)
- Yii Cache File Handler (PR)
- Yii Cache Memcached Handler (PR)
- Yii Cache Redis Handler (PR)
- Yii Config (PR)
- Yii Cookies (PR)
- Yii Data DB (PR)
- Yii Data Response (PR)
- Yii Dependency Injection (PR)
- Yii Active Record (PR)
- Yii DB (PR)
- Yii DB MySQL Extension (PR)
- Yii Classifier (PR)
👍6
⚡️ #yiisoftDi #yiisoftConfig
Улучшили производительность:
• в Yii Dependency Injection при получении объектов по тегу из композитного контейнера (PR);
• в Yii Config во время обработки модификаторов
Улучшили производительность:
• в Yii Dependency Injection при получении объектов по тегу из композитного контейнера (PR);
• в Yii Config во время обработки модификаторов
ReverseMerge
и RecursiveMerge
(PR).👍3
⚡️ #yiisoftYiiDocker #yiisoftConfig #yiisoftCacheMemcached #yiisoftAuth #yiisoftAssets #yiisoftYiiMiddleware #yiisoftAppApi #yiisoftYiiDevTool #yiisoftYiiWidgets #yiisoftYiiHttp #yiisoftYiiMaskedInput #yiisoftYiiQueueAmqp #yiisoftYiiRunner #yiisoftYiiRunnerHttp #yiisoftYiiRunnerRoadrunner #yiisoftYiiSwagger #yiisoftYiiView #yiisoftHttp #yiisoftApp #yiisoftDemoApi #yiisoftDemo #yiisoftCookies #yiisoftCache #yiisoftDataDb #yiisoftData
Сделали изменения в стили кода. Методы, вызываемые «цепочкой», перенесли на новую строку:
- Yii Docker Image (PR)
- Yii Config (PR)
- Yii Cache Memcached Handler (PR)
- Yii Auth (PR)
- Yii Assets (PR)
- Yii Middleware (PR)
- Шаблон API-приложения (PR)
- Yii Development Tool (PR)
- Yii Widgets (PR)
- Yii HTTP Application (PR)
- Yii Masked input Widget (PR)
- Yii Queue AMQP Driver (PR)
- Yii Runner (PR)
- Yii HTTP Runner (PR)
- Yii RoadRunner Runner (PR)
- Yii Swagger (PR)
- Yii View Extension (PR)
- Yii HTTP (PR)
- Шаблон веб-приложения (PR)
- Демо API-приложения (PR)
- Демо веб-приложения (PR)
- Yii Cookies (PR)
- Yii Caching Library (PR)
- Yii Data DB (PR)
- Yii Data (PR)
Сделали изменения в стили кода. Методы, вызываемые «цепочкой», перенесли на новую строку:
- Yii Docker Image (PR)
- Yii Config (PR)
- Yii Cache Memcached Handler (PR)
- Yii Auth (PR)
- Yii Assets (PR)
- Yii Middleware (PR)
- Шаблон API-приложения (PR)
- Yii Development Tool (PR)
- Yii Widgets (PR)
- Yii HTTP Application (PR)
- Yii Masked input Widget (PR)
- Yii Queue AMQP Driver (PR)
- Yii Runner (PR)
- Yii HTTP Runner (PR)
- Yii RoadRunner Runner (PR)
- Yii Swagger (PR)
- Yii View Extension (PR)
- Yii HTTP (PR)
- Шаблон веб-приложения (PR)
- Демо API-приложения (PR)
- Демо веб-приложения (PR)
- Yii Cookies (PR)
- Yii Caching Library (PR)
- Yii Data DB (PR)
- Yii Data (PR)
👍2
#yiisoftConfig #МинорныйРелиз #Релиз
🎁 Yii Config 1.2
• Добавлена возможность изменить путь к файлу c планом слияния, в том числе изменить имя по умолчанию
• Улучшена производительность при работе с модификаторами
• Минимальная версия PHP увеличена до 8.0.
😎 В подготовке релиза приняли участие: Сергей Предводителев, Александр Макаров, Дмитрий Дерепко, Carsten Brandt, Евгений Зюбин, Wilmer Arambula, Виктор Бабанов и Sanka.
🎁 Yii Config 1.2
• Добавлена возможность изменить путь к файлу c планом слияния, в том числе изменить имя по умолчанию
.merge-plan.php
.• Улучшена производительность при работе с модификаторами
ReverseMerge
и RecursiveMerge
.• Минимальная версия PHP увеличена до 8.0.
😎 В подготовке релиза приняли участие: Сергей Предводителев, Александр Макаров, Дмитрий Дерепко, Carsten Brandt, Евгений Зюбин, Wilmer Arambula, Виктор Бабанов и Sanka.
👍6🆒2
#yiisoftConfig #МинорныйРелиз #Релиз
🎁 Yii Config 1.3
• Добавлена возможность использовать
😎 Релиз подготовил Сергей Предводителев.
🎁 Yii Config 1.3
• Добавлена возможность использовать
Config
без конфигурационной группы с параметрами.😎 Релиз подготовил Сергей Предводителев.
👏3
#yiisoftConfig #ПатчРелиз #Релиз
🎁 Yii Config 1.3.1
• При обработке composer пакетов учитываются только плагины и библиотеки, всё остальное игнорируется (например, метапакеты).
• Исправлена ошибка: пустые группы конфигурации из пакетов не попадали в итоговый план слияния.
🎁 Yii Config 1.3.1
• При обработке composer пакетов учитываются только плагины и библиотеки, всё остальное игнорируется (например, метапакеты).
• Исправлена ошибка: пустые группы конфигурации из пакетов не попадали в итоговый план слияния.
👍6
#yiisoftConfig #МинорныйРелиз #Релиз
🎁 Yii Config 1.4
• Добавлена опция
🎁 Yii Config 1.4
• Добавлена опция
package-types
, позволяющая переопределить типы пакетов, которые обрабатываться composer-плагином (по умолчанию это library
и composer-plugin
). Например:"extra": {
"config-plugin-options": {
//...
"package-types": ["library", "yii2-extension"]
//...
}
}
👍4
#yiisoftConfig #МинорныйРелиз #Релиз
🎁 Yii Config 1.5
• Для модификатора
• Исправлено некорректное исключение "Duplicate key…", возникающее в некоторых случаях при использовании референсов.
• Модификаторы для рекурсивного и реверсивного слияний теперь применяются для референсов.
• Удалён неиспользуемый код в классе
🎁 Yii Config 1.5
• Для модификатора
RecursiveMerge
добавлена возможность указать глубину рекурсии.• Исправлено некорректное исключение "Duplicate key…", возникающее в некоторых случаях при использовании референсов.
• Модификаторы для рекурсивного и реверсивного слияний теперь применяются для референсов.
• Удалён неиспользуемый код в классе
PackagesListBuilder
.👍12👾5
#yiisoftConfig #МинорныйРелиз #Релиз
🎁 Yii Config 1.6
• Добавлена composer-команда
• Опцию
• Минимальная версия Composer повышена до 2.3.
• Минимальная версия PHP повышена до 8.1 и выполнен соответствующий рефакторинг.
• Ограничение версии PHP в
• Для опциональных nullable-параметров явно прописан тип с
• Выполнен рефакторинг внутренних классов
🎁 Yii Config 1.6
• Добавлена composer-команда
yii-config-info
, которая выводит информацию о конфигурации приложения или пакета.• Опцию
config-plugin-file
теперь можно использовать не только в приложении, но и в пакетах.• Минимальная версия Composer повышена до 2.3.
• Минимальная версия PHP повышена до 8.1 и выполнен соответствующий рефакторинг.
• Ограничение версии PHP в
composer.json
изменено на ~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0
.• Для опциональных nullable-параметров явно прописан тип с
null
для совместимости с PHP 8.4. • Выполнен рефакторинг внутренних классов
Options
и ProcessHelper
. Переработано чтение конфигурации.👍4👾1