在类中使用PHP中的spl_autoload_register
函数加载其他类的正确方法是什么。
我想要做的是,有一个类,它有一堆我可以调用的函数,可以在需要时自动加载所需的文件。
这就是我要做的事情:
myClass.php
class myClass {
public function test() {
return "blah blah ";
}
}
然后我的类加载其他类: 的 boot.php
class boot {
public static function autoloader($className)
{
$class = str_replace("\\", "/", $className);
$filename = __DIR__."/".$class . ".php";
if (is_readable($filename)) {
require $filename;
}
}
public static function registerAutoloader()
{
spl_autoload_register(__CLASS__ . "::autoloader");
}
public function loadClass()
{
$classname = new myClass();
return $classname;
}
}
然后我加载它:
require "boot.php";
boot::registerAutoloader();
$boot = new boot();
$class = $boot->loadClass();
var_dump($class->test());
但是我得到了“致命错误:在boot.php中找不到类'myClass'。有人可以帮忙,这样做的正确方法是什么?