【发布时间】:2014-12-24 21:11:15
【问题描述】:
我已经在 SO 阅读了相同问题的答案,但它们并没有帮助我解决我的问题。
我的目录结构如下:
还有这个类:
namespace Util;
final class Autoloader
{
public static function loader($class)
{
define('PHP_FILE_EXTENSION', '.php');
$filename = '';
$file = '';
$phisicalFilePath = '';
$filename = $class . PHP_FILE_EXTENSION;
$phisicalFilePath = __DIR__ . DIRECTORY_SEPARATOR . $filename;
if (file_exists($phisicalFilePath)) {
require_once 'util/' . $filename;
}
}
}
我使用bootstrap.php文件中的上述类如下:
require_once('util/Autoloader.php');
spl_autoload_register('Util\Autoloader::loader');
我从index.php 文件中调用所有内容:
require_once('bootstrap.php');
echo StringUtils::randomString(10);
但不幸的是,SPL 自动加载不会加载类:
Fatal error: Class 'StringUtils' not found in 'xxx\index.php' on line 5
我做错了什么?
【问题讨论】:
-
保重:
StringUtils!==stringutils -
@MarkBaker 是的,这是最后一刻的改变。我会更新图片。
-
您正在检查一个文件是否存在 (
$phisicalFilePath),但包含另一个文件 ('back-end/util/' . $filename) -
@Lashane 是的,但我也尝试了
util/$filename,但没有成功。 -
util/$filename与$phisicalFilePath不同