У меня есть файл (config.php), в котором хранятся данные конфигурации моего приложения:
<?php
return [
// here is my associative configuration array
// having also Closures in it
];
Я отправляю этот файл в мой класс Config, который будет манипулировать моими данными, и это будет мойинтерфейс для информации о конфигурации.
Config::init(require('config.php'));
Таким образом, я не хочу получать информацию о конфигурации любым другим способом, кроме использования методов класса Config.
Итак, мне нужноможет включать config.php только один раз в моем проекте (когда отправляется в класс Config).
Решением будет определение константы в верхней части файла:
<?php
define('config', true);
return [
// here is my associative configuration array
// having also Closures in it
];
В этомКстати, включение config.php дважды приведет к ошибке, потому что константу 'config' определяют дважды, что недопустимо в php.
НО, константа 'config' может быть легко удалена перед вторым включением.С:
runkit_constant_remove('config');
Вот почему мне нужно попросить вас о более безопасном / надежном решении, которое может гарантировать, что информацию о конфигурации можно получить только из класса Config.