php - 即使已经声明

时间:2016-10-21 05:36:43

标签: php

我有一个包含一些文件的网络应用。我目前关注的文件是index.phpinc/Autoloader.php

目前,在index.php中,我的include(dirname(__FILE__)."/inc/Autoloader.php");中有一个index.php。在那之前,我已经包含了我的标题,其中包含我的导航栏和其他标题。

当我尝试访问索引时,PHP会输出以下错误:

PHP Fatal error: Cannot redeclare load_class() (previously declared in /redacted/directory/webroot/inc/Autoloader.php:17) in /redacted/directory/webroot/inc/Autoloader.php on line 17

这是我的自动加载器功能:

function Infinia_load_class($classname) {

    // Don't __DIR__ (PHP Magic Constant __DIR__ is not in PHP 5.3)

    $filename = dirname(__FILE__).DIRECTORY_SEPARATOR.'infinia_class.'.strtolower($classname).'.php';

    if (is_readable($filename)) {
        require $filename;
        if (file_exists(dirname(__FILE__)."/../InfiniaLegit.config.php")) {
            require dirname(__FILE__)."/../InfiniaLegit.config.php";
        } else {
            require dirname(__FILE__)."/config.php";
        }
    }


}

if (version_compare(PHP_VERSION, '5.1.2', '>=')) {
    //SPL autoloading was introduced in PHP 5.1.2
    if (version_compare(PHP_VERSION, '5.3.0', '>=')) {
        spl_autoload_register('Infinia_load_class', true, true);
    } else {
        spl_autoload_register('Infinia_load_class');
    }
} else {
    /**
     * Fall back to traditional autoload for old PHP versions
     * @param string $classname The name of the class to load
     */
    function __autoload($classname)
    {
        Infinia_load_class($classname);
    }
}

我已经检查过该项目,但我没有看到任何重新声明该功能的迹象。

Project Git Repository

如果有人知道发生了什么,将非常感谢帮助!谢谢!

编辑1:更新到Git中的最新Autoloader

0 个答案:

没有答案