我已閱讀過SO中相同問題的答案,但它們並沒有幫助我解決我的問題。SPL Autoload不加載類
我有如下的目錄結構:
這個類:
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');
我從撥打電話文件:
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是的,這是最後一刻的變化。我會更新圖片。 – leoMestizo
您正在檢查一個文件('$ phisicalFilePath')的存在,但包含另一個(''back-end/util /'。$ filename') –