Автозагрузчик Slim 3 Middleware и PSR-4 Composer: класс не найден
composer.json:
"autoload": {
"psr-4": {
"App\\": "src/"
}
},
SRC /Auth/RequestMethodPathRule.php:
namespace App\Auth;
class RequestMethodPathRule implements \Slim\Middleware\HttpBasicAuthentication\RuleInterface
{
...
SRC /middleware.php
$app->add(new \Slim\Middleware\HttpBasicAuthentication([
"rules" => [new App\Auth\RequestMethodPathRule(
Это приводит к
Класс 'App\Auth\RequestMethodPathRule' не найден.
Включение всего кода в RequestMethodPathRule.php в файл middleware.php работает нормально.
Более странно, что наряду с ошибкой 500 браузер отображает исходный код RequestMethodPathRule.php!
РЕДАКТИРОВАТЬ: О боже, у меня был ярлык на файл класса (<? instead of <?php)
так что php рассматривал это как текст. Привычки трудно бросить.
1 ответ
Более странно, что наряду с ошибкой 500 браузер отображает исходный код RequestMethodPathRule.php!
Это означает, что композитор правильно включает файл, но класс не найден, потому что код не интерпретируется php. В этом случае, поскольку короткие теги обычно не включены, вам просто нужно заменить их на <?php
вместо тега.