例如,假设我有以下代码。
$foo = new bar();
还有像这样的自动装载机。
function autoload($class_name) {
$class_file_name = str_replace('_', '/', $class_name) . '.php';
if (file_exists($class_file_name)) {
include($class_file_name);
}
}
但是我真正要加载的类是在文件夹'foo/bar.php'中,而真正的类名实际上是foo_bar。有没有办法动态更改正在自动加载的类的名称?例如,像这样的东西?
function autoload(&$class_name) {
$class_name = 'foo_' . $class_name;
$class_file_name = str_replace('_', '/', $class_name) . '.php';
if (file_exists($class_file_name)) {
include($class_file_name);
}
}
我知道这样的事情是否可行,这并不是最佳实践,但我仍然想知道是否可行。