Speravo che se dovessi definire costanti in uno spazio dei nomi indipendente, come:Autoloading costanti in PHP?
namespace config\database\mysql;
const HOST = 'localhost';
const USER = 'testusr';
const PASSWORD = 'testpwd';
const NAME = 'testdb';
Che sarei stata in grado di utilizzare __autoload
ad essi includono automaticamente:
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;
Questo, tuttavia, non funziona. Il __autoload
non è chiamato per la costante come è con le classi, lasciandomi un errore Undefined constant
.
Un modo per simulare la classe __autoload
per le costanti?
Grazie! Questo sembra promettente. Non mi piace affatto doverli avvolgere in classi fittizie, ma sembra funzionare. – Atli