Я надеялся, что если бы я определил константы в отдельном пространстве имен, например:
namespace config\database\mysql;
const HOST = 'localhost';
const USER = 'testusr';
const PASSWORD = 'testpwd';
const NAME = 'testdb';
Что бы я мог использовать __autoload
, чтобы автоматически включить их:
function __autoload($className)
{
echo "Autoload: {$className}\n";
$class_file = str_replace('\\', '/', $className) . ".php";
if(file_exists($class_file)) {
include $class_file;
}
}
echo config\database\mysql\HOST;
Это, однако, не работает. __autoload
не вызывается для константы, как с классами, оставляя меня с Undefined constant
ошибкой.
Каким образом я могу смоделировать класс __autoload
для констант?