我有自动加载功能的奇怪问题。
我的结构是这样的
Project
|
+-- test.php
|
+-- class
| |
| +-- class.news.php
我有这段代码:
function __autoload($class_name) {
if(file_exists('class/class.'.strtolower($class_name).'.php')){
require_once('class/class.'.strtolower($class_name).'.php');
} else {
throw new Exception("Unable to load $class_name.");
}
}
try {
$a = new News();
} catch (Exception $e) {
echo $e->getMessage(), "\n";
}
我得到了
Fatal error: Class 'News' not found
file class.news.php
class News{
function insert($request){
return "ok";
}
}
我在Windows 10上的wamp服务器上运行它
答案 0 :(得分:0)
使用文档根目录来避免相对路径出现问题:
$prefix = $_SERVER['DOCUMENT_ROOT'] . '/class/class.';
$filename = $prefix . strtolower($class_name) . '.php';
if(file_exists($prefix)){
require_once($prefix);
}