Проверка добавления новых параметров в enviroments Yii2?

Потребность: Инструмент, похожий на миграции, для params-local: отслеживает появились ли новые параметры в enviroments по отношению к текущему файлу, и если да, как минимум, оповещает об этом в консоли.

Иллюстрация проблемы: Допустим, имеем следующий вид: common/config/params-local.php

<?php
return [
    'telegram.token' => '5111777220:0fWm_G2eNeWillyJN2ekBram42mkkET-ZAHAA',
    'telegram.incidentChat' => 516764370486187,
    'telegram.botName' => 'bot_father',
];

Наш коллега добавил новый функционал, и с ним — новый локальный параметр: 'style.newYear', который он добросовестно указал в enviroment-файлах: environments/dev/common/config/params-local.php:

<?php
return [
    'telegram.token' => '', //  Telegram Bot API Token,
    'telegram.incidentChat' => '', // ID of TG chat. Please do not forget to add a bot to this chat
    'telegram.botName' => '', // Bot username without "@"

    'style.newYear' => 1, // Enable or disabled new year design
];

Нам же — нужно этот новый параметр добавить себе.

Проблема: Но наш проект уже поднят, поэтому повторный запуск yii init — да, добавит новый параметр, но и сбросит к значениям по-умолчанию уже заполненные.

Получается, что нашему коллеге нужно оповестить нас о новом параметре, а нам его добавить в свой loc-файл, чтобы ничего не затерлось и наш common/config/params-local.php имел такой вид:

<?php

return [
    'telegram.token' => '5111777220:0fWm_G2eNeWillyJN2ekBram42mkkET-ZAHAA',
    'telegram.incidentChat' => 516764370486187,
    'telegram.botName' => 'bot_father',

    'style.newYear' => 1,
];

Цель: Автоматизировать данный процесс. Думаю, достаточно будет сверять 2 массива, но возможно уже есть готовые инструменты, в т.ч. от фреймворка, чтобы не писать велосипед.


Ответы (0 шт):