Yii2 закрыть сайт и настроить

У меня есть базовое приложение Yii2, и я решил создать механизм закрытия веб-сайта, такой как те, что были найдены в CMS. Я config/web.php следующие изменения в config/web.php :

 $config = [ ...... ]; if ($params['closeSite']){ return call_user_func(function(){ echo file_get_contents('../closed.html'); die(); }); } return $config; 

В приведенном выше фрагменте я использовал последнюю строку в web/index.php которая использует $config в инициации объекта приложения (new yii\web\Application($config))->run(); и config/web.php вернет echo содержимое и использует die чтобы остановить дальнейшее выполнение, чтобы удалить сообщения об ошибках и уведомления.

Действительно, приведенный выше код работает отлично. Тем не менее, я хотел бы использовать некоторые настройки конфигурации в $config массиве, определенном в том же файле config/web.php поэтому я ввел следующее изменение в приведенный выше фрагмент:

 $config = [ ....... ]; if ($params['closeSite']){ return call_user_func(function($config){ echo file_get_contents('../closed.html').$config['language']; die(); }); returm $config 

Однако этот фрагмент выводит следующее предупреждение:

Предупреждение: Отсутствует аргумент 1 для {закрытия} () в C: \ Users ….. \ config \ web.php в строке 80

Примечание. Неопределенная переменная: config в C: \ Users ….. \ config \ web.php в строке 81 Закрыто для обслуживания

У меня есть два вопроса:

  1. Как можно пропустить этот аргумент ?! $config – это массив, определенный в строках перед фрагментом?
  2. Является ли этот способ, чтобы приложение было автономным или безопасным?

Обновить

Я нашел ошибку при передаче параметра $config . Из документации по PHP, пример №3. Мне нужно передать или наследовать $config следующим образом:

 if ($params['closeSite']){ return call_user_func(function() use ($config){ echo file_get_contents('../closed.html').$config['language']; die(); }); } 

т.е. используя использование ключевого слова. Остается только аспект безопасности.