0

helper.php :在 index.php 顶部需要

function __autoload($className) {

    $path = ROOT_DIR.'/class/'.strtolower(trim($className)).'.class.php';

    if (file_exists($path)) {
        require_once($path);
    }
}

function load_libs($class_variable_name) {

    global $session;
    global $_libs;

    $_libs[$class_variable_name] = new $class_variable_name($session);

    return $_libs[$class_variable_name];
}

从 index.php 我创建了一个类的实例:

new some_class_one();

没问题,它通过 __autoload 加载类文件。

但是,如果我打电话:

load_libs('some_class_two');

我收到错误:致命错误:在线 C:\wamp\www\helper.php 中找不到类 'some_class_two'

知道该怎么做吗?

4

1 回答 1

0

我刚刚在我的机器上测试了它,它工作得很好。我无法复制这个问题。这是我正在运行的 PHP 版本:

$ php -v
PHP 5.4.17 (cli) (built: Aug 25 2013 02:03:38) 
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies

我建议您.class从文件名中删除 。最好使用命名空间并使命名空间/类名与文件系统匹配。除此之外,您ROOT_DIR的错误或您的文件位于错误的位置。

于 2013-12-20T15:27:37.393 回答