Tenía la esperanza de que si tuviera que definir constantes en un espacio de nombres separado, como:Constantes de autocarga en PHP?
namespace config\database\mysql;
const HOST = 'localhost';
const USER = 'testusr';
const PASSWORD = 'testpwd';
const NAME = 'testdb';
que iba a ser capaz de utilizar __autoload
a ellos incluyen automáticamente:
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;
Esto, sin embargo, No funciona. No se llama al __autoload
para la constante como lo está con las clases, dejándome con un error Undefined constant
.
¿Alguna manera de que pueda simular la clase __autoload
para las constantes?
¡Gracias! Esto parece prometedor. Aunque no me gusta tener que envolverlos en clases simuladas, parece que funciona. – Atli