我有一个包含一些文件的网络应用。我目前关注的文件是index.php
和inc/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);
}
}
我已经检查过该项目,但我没有看到任何重新声明该功能的迹象。
如果有人知道发生了什么,将非常感谢帮助!谢谢!
编辑1:更新到Git中的最新Autoloader