Добрый день, я не понимаю это исключениеLaravel 5.1 Пространство имен для контроллера дают Reflection Exception
ReflectionException в Container.php линии 737: приложение Class \ Http \ Контроллеры \ Логин \ LoginController не существует
Я знаю, что это связано с пространством имен, но я настроил автозагрузку composer.json. Когда я изменил его на приложение \ Http \ Controllers \ Login, он работает нормально. Я также сделал мастеровых четкий скомпилированные и композитор дамп-автозагрузку
Мой класс, как это
<?php
namespace Login;
use Controller;
use Validator;
use Input;
use Auth;
use Redirect;
use View;
class LoginController extends Controller{}
Мой composer.json автозагрузку
"autoload": {
"classmap":
[ "app/Http/Controllers" , "app/Models" , "database" ],
"psr-4": {
"app\\": "app/"
}
},
Моя Контроллеры Справочник, как это
- app
-- Http
--- Controllers
---- Login
----- LoginController.php
-- Models
--- User
---- User.php
Заранее благодарен
Edit: Почему я не имеют проблем с моими файлами модели, когда я использовать пространство имен, как это:
имен пользователя;
В моей конфигурации AUTH у меня есть это:
'модель' => User \ User: класс,
Когда я использовал laravel 4, мне не нужно было устанавливать приложение/модели или приложения/контроллеры, я думал, что с изменением classmap он будет работать. – user2876735
атрибут classmap в composer.json должен сказать автозагрузчик, где можно найти классы, которые не соответствуют правилам PSR-0 или PSR-4. Ни композитор, ни автозагрузчик не могут изменить тот факт, что ваш контроллер находится в пространстве имен «Логин» –
Избегайте использования функции classmap, если ваш код может соответствовать PSR-4. Это скроет ошибки с неправильным именем или помещением в файловую систему, и для создания автозагрузчика потребуется больше времени, потому что дерево каталогов необходимо отсканировать для файлов php и проанализировать для классов. – Sven