我只是在学习如何使用 spl_autoload_register
我有一个看起来像这样的文件夹结构:
lib/projectname/home/homepage.php
所以如果我包含这样的文件,它可以工作:
include("lib/projectname/home/homepage.php");
$home = new homepage();
我添加了一个如下所示的 autoload.php 文件:
function myclass($class_name) {
$class_name = str_replace('_', DIRECTORY_SEPARATOR, $class_name) . '.php';
require_once($class_name);
}
spl_autoload_register('myclass');
现在,如果我尝试使用该类,我将像这样引用它:
require_once("autoload.php");
$home = new lib_projectname_home_homepage;
当我这样做时,我收到以下错误:
Fatal error: Class 'lib_projectname_home_homepage' not found
所以看起来好像类文件的加载正在工作,但它没有在文件中找到类?
实际的 homepage.php 文件如下所示:
class homepage {
function __construct(){
echo "homepage";
}
}
为了使其正常工作,我需要进行哪些更改?