PHP:找不到自动加载类

时间:2014-04-30 13:02:56

标签: php spl-autoloader

我在PHP中自动加载类有问题。

在我写的index.php中(这是最简单的):

function _autoload($class_name) {
  require_once $class_name . '.php';
}

$a = new Cont();

我的Cont.php文件位于PROJECT_ROOT/assets/core/Contr.php;

结果,我的index.php文件引发致命错误:

Fatal error: Class 'Cont' not found in /var/www/bill/index.php on line 15

2 个答案:

答案 0 :(得分:3)

应该{​​{1}}似乎你错过了一个下划线字符。

那是......

__autoload()

来自PHP Manual...

的提示
  

spl_autoload_register()提供了更灵活的替代方案   自动加载类。出于这个原因,使用__autoload()是   气馁,将来可能会被弃用或删除。

答案 1 :(得分:1)

首先,它是__autoload - 两个下划线。

其次,不鼓励使用这种技术 - spl_autoload_register是更好的选择。

第三,如果您的文件位于require_once 'assets/core/' . $class_name . '.php';,则您可能需要PROJECT_ROOT/assets/core