2017-01-02 9 views
0

composer.json:тонкий 3 промежуточного программного обеспечения & PSR-4 композитор автозагрузчика: класс не найден

"autoload": { 
    "psr-4": { 
     "App\\": "src/" 
    } 
}, 

SRC/Авт/RequestMethodPathRule.php:

namespace App\Auth; 
class RequestMethodPathRule implements \Slim\Middleware\HttpBasicAuthentication\RuleInterface 
{ 
... 

SRC/промежуточное программное обеспечение .php

$app->add(new \Slim\Middleware\HttpBasicAuthentication([ 
    "rules" => [new App\Auth\RequestMethodPathRule(

Это приводит к

класса 'App \ Auth \ RequestMethodPathRule' не найден.

В том числе весь код в RequestMethodPathRule.php в файле middleware.php работает отлично.

Более странно, наряду с ошибкой 500, браузер отображает исходный код RequestMethodPathRule.php!

EDIT: Ой, у меня был shorttag на файл класса (<? instead of <?php) так PHP рассматривал его как текст. Привычки трудно бросить.

+0

'config.json', вы уверены, что это имя файла? – Federkun

+0

предназначенный композитор.json. Я отредактирую благодарность. – sivann

+1

Подождите, вы забыли тег ' Federkun

ответ

0

Более странно, наряду с ошибкой 500, браузер отображает исходный код RequestMethodPathRule.php!

Это означает, что композитор правильно включает файл, но класс не найден, потому что код не интерпретируется с помощью php. В этом случае, поскольку короткие теги обычно не включены, вам просто нужно заменить их тегом <?php.