Я прочитал ответы на те же вопросы здесь, в 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');
И я все называю от 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 Да, это было последнее изменение. Я обновлю фотографию. – leoMestizo
вы проверяете существование одного файла ('$ phisicalFilePath'), но включаете другое (' 'back-end/util /'. $ Filename') –