@nazarpc
не может быть в моём коде два пространства имён в одном файле. Глобальное пространство имён - это корневая директория сайта.
То есть пространства имён соответствуют названиям директорий, а названия файлов, названиям классов. для загрузки используется "пустая" запись spl_autoload_register(); в файле index.php, в корне сайта.
@nazarpc функции имеют глобальную область видимости, так что автолоэдер не нужен, так как сейчас она объявлена в index.php
eval() работает и справляется с задачей (в тестах), вопрос исключительно в уязвимости/безопасности.
@dkorshunov
> функции имеют глобальную область видимости
Не обязательно же, сами писали выше
> вопрос исключительно в уязвимости/безопасности
Если указанный код вставить как есть - никаких проблем не будет, другой вопрос что это ОЧЕНЬ криво, и я пытаюсь предложить вам более аккуратный и поддерживаемый вариант. В таком виде код на столько же опасен, на сколько тот же код, но без eval().
почему криво?)) код очень аккуратный и удобный :)
через функцию cfg() я получаю доступ к конфигу JSON вот таким образом:
cfg()->db->config->global('mydb_name')->host();
и устанавливаю глобальные настройки:
cfg()->status(404)->mode('www');
И это поверьте не криво :)