这些内容是从慕课网上看到的,讲了3中类的自动加载方法,试了一下,没毛病。具体见下面代码
<?php
//方法1
/* //注意,不要在controller前面加/
//设置寻找的类型建的扩展名,多个扩展名使用;分割,同时找到不同后缀的同名文件 时,前者优先
/*spl_autoload_extensions('.php, .class.php'); // 设置寻找类文件的路径,多个路径的分割符PATH_SEPARATOR
set_include_path(get_include_path().PATH_SEPARATOR.'controller/'); //使用autoload机制查找类定义
spl_autoload_register('fname');
function fname($className){
///方法2
if (file_exists($classFile)) {
require_once($classFile);
} else {
throw new Exception('No such class file exists');
}/
//方法3
set_include_path('controller/');
// 当我们不用require或者require_once载入类的时候,而想通过系统查找include_path来装载类时,必须显示调用spl_autoload函数,参数的类的名称来重启类文件的自动查找或者装载
spl_autoload($className);
}
try{
$test = new Test();
$bar = new Bar();
} catch(Exception $e){
echo $e->getMessage();
}
}
//在同级目录下建一个文件夹 controller/Test.php
<?php
class Test{
function __construct(){
echo 'I am controller Test';
}
}