Я объединить свои конфиги таким образом:Yii2 переопределить вложенные параметры конфигурации
$config = \yii\helpers\ArrayHelper::merge(
(require (__DIR__ . '/../config/web.php')),
(require __DIR__ . '/../config/overrides/web.php')
);
Вот конфиг/web.php
$config = [
'components' => [
'log' => [
'traceLevel' => YII_DEBUG ? 3 : 0,
'targets' => [
[
'class' => 'yii\log\FileTarget',
'levels' => ['error', 'warning'],
],
[
'class' => 'yii\log\EmailTarget',
'levels' => ['info'],
'categories' => ['parsingFailure'],
'logVars' => [],
'message' => [
'from' => ['[email protected]'],
'to' => ['[email protected]'],
'subject' => 'Message parsing failure',
],
],
],
],
//....some more components
]
];
Вот переопределение, что я пытаюсь применить config/overrides/web.php
$config = [
'components' => [
'log' => [
'traceLevel' => YII_DEBUG ? 3 : 0,
'targets' => [],
],
]
];
Итак, моя цель - отключить ведение журнала в локальной конфигурации. Конечно, это не сработает, так как поведение array_merge отличается и ничего не отменяется.
Это работает отлично! –