ReflectionException в строке 776 Container.php: класс APPPATH \ Http \ Controllers \ DashboardController не существует

Я знаю, что эта ошибка существует во многих сообщениях, но я пробовал все без какого-либо решения. После того как я изменил модель значений в файле auth.php на правильный путь модели пользователя, мои контроллеры не работают. Все контроллеры выдают следующую проблему, но только контроллер Auth работает нормально. Я получаю следующее сообщение об ошибке:

ReflectionException в строке 776 Container.php: класс APPPATH \ Http \ Controllers \ DashboardController не существует

Я сделал дамп-автозагрузку композитора, но все то же самое. Мой контроллер находится внутри App \ Http \ Controllers \ Administrator \ Dashboard \ DashboardController.php

namespace APPPATH\Http\Controllers;

    class DashboardController extends Controller {}

и внутри моего маршрута у меня есть это

get('/', array('as' => 'administrator.dashboard', 'uses' => 'DashboardController@index'));

get('/dashboard', array('as' => 'administrator.dashboard', 'uses' => 'DashboardController@index'));

get('/dashboard/index', array('as' => 'administrator.dashboard', 'uses' => 'DashboardController@index'));

Вот композитор laravel 5

"autoload": {"classmap": ["database"], "psr-4": {"APPPATH \": "app /"}},

Кто-нибудь знает, почему не работает? Спасибо

Сообщение об ошибке

ReflectionException в строке 776 Container.php:

Класс APPPATH \ Http \ Controllers \ DashboardController не существует в строке 776 Container.php

в ReflectionClass -> __ construct ('APPPATH \ Http \ Controllers \ DashboardController') в строке 776 Container.php

в Container-> build ('APPPATH \ Http \ Controllers \ DashboardController', array ()) в строке 656 Container.php

в Container-> make ('APPPATH \ Http \ Controllers \ DashboardController', array ()) в строке 620 Application.php

в Application-> make ('APPPATH \ Http \ Controllers \ DashboardController') в строке 83 ControllerDispatcher.php

в ControllerDispatcher-> makeController ('APPPATH \ Http \ Controllers \ DashboardController') в строке 54 ControllerDispatcher.php

в ControllerDispatcher-> dispatch (object (Route), object (Request), 'APPPATH \ Http \ Controllers \ DashboardController', 'index') в строке 198 Route.php

в Route-> runWithCustomDispatcher (object (Request)) в строке 131 Route.php

в Route-> run (object (Request)) в строке 691 Router.php

в Router-> Illuminate \ Routing {closure} (object (Request)) at call_user_func (object (Closure), object (Request)) в строке 141 Pipeline.php

в Pipeline-> Illuminate \ Pipeline {closure} (object (Request)) в call_user_func (object (Closure), object (Request)) в строке 101 Pipeline.php

в Pipeline-> then (object (Closure)) в строке 693 Router.php

в Router-> runRouteWithinStack (object (Route), object (Request)) в строке Router.php 660

в Router-> dispatchToRoute (object (Request)) в строке Router.php 618

в Router-> dispatch (object (Request)) в строке 214 Kernel.php

в Kernel-> Illuminate \ Foundation \ Http {closure} (объект (Запрос)) в call_user_func (объект (Закрытие), объект (Запрос)) в строке 141 Pipeline.php

в Pipeline-> Illuminate \ Pipeline {closure} (object (Request)) в строке 43 VerifyCsrfToken.php

в VerifyCsrfToken-> handle (object (Request), object (Closure)) в VerifyCsrfToken.php, строка 17

в VerifyCsrfToken-> handle (object (Request), object (Closure)) в строке 125 Pipeline.php

в Pipeline-> Illuminate \ Pipeline {closure} (object (Request)) в строке 55 ShareErrorsFromSession.php

в ShareErrorsFromSession-> handle (object (Request), object (Closure)) в строке 125 Pipeline.php

в Pipeline-> Illuminate \ Pipeline {closure} (object (Request)) в строке 61 StartSession.php

в StartSession-> handle (object (Request), object (Closure)) в строке 125 Pipeline.php

в Pipeline-> Illuminate \ Pipeline {closure} (object (Request)) в строке 36 AddQueuedCookiesToResponse.php

в AddQueuedCookiesToResponse-> handle (object (Request), object (Closure)) в строке 125 Pipeline.php

в Pipeline-> Illuminate \ Pipeline {closure} (object (Request)) в строке 40 EncryptCookies.php

в EncryptCookies-> handle (object (Request), object (Closure)) в строке 125 Pipeline.php

в Pipeline-> Illuminate \ Pipeline {closure} (object (Request)) в строке 42 CheckForMainastedMode.php

в CheckForMainastedMode-> handle (object (Request), object (Closure)) в строке 125 Pipeline.php

в Pipeline-> Illuminate \ Pipeline {closure} (object (Request)) в call_user_func (object (Closure), object (Request)) в строке 101 Pipeline.php

в Pipeline-> then (object (Closure)) в строке 115 Kernel.php

в Kernel-> sendRequestThroughRouter (object (Request)) в строке 84 Kernel.php

в Kernel-> handle (object (Request)) в строке 53 index.php


person George Panayi    schedule 26.03.2015    source источник
comment
Он не работал из-за этой функции $ this- ›loadAndAuthorizeResource ();   -  person George Panayi    schedule 26.03.2015


Ответы (4)


Должно быть приложение, а не APPPATH

namespace App\Http\Controllers;
person dynamic    schedule 26.03.2015
comment
поскольку я использую laravel 5 внутри композитора, у меня есть следующая автозагрузка: {classmap: [database], psr-4: {APPPATH \\: app /}}, - person George Panayi; 26.03.2015
comment
вы должны переустановить свой ларавел, мне это кажется неправильным - person dynamic; 26.03.2015

В моем случае я получал эту ошибку из-за некоторой проблемы с аутентификацией. Я решил проблему, выполнив два простых шага в L5.1:

  1. Поместите "league / oauth2-server": "4.1. *" В требуемый раздел вашего файла composer.json.
  2. запустите команду обновления композитора на терминале.

Вы тоже можете попробовать. Спасибо

person Md Aman Ullah    schedule 10.12.2015

get('/', array('as' => 'administrator.dashboard', 'uses' => '\APPPATH\Http\DashboardController@index'));

Он попытается получить его из корневых пространств имен

person Adnan Mumtaz    schedule 05.07.2017

Если ваш файл существует в App\Http\Controllers\Administrator\Dashboard\DashboardController.php, то сначала ваше заданное пространство имен неверно, а второе - в вашем routes.php, который вы отправляете в DashboardController, который предполагает, что он будет представлен сразу после каталога controllers. Попробуйте внести следующие изменения.

  • В вашем DashboardController.php

    namespace APPPATH\Http\Controllers\Administrator\Dashboard;
    
    class DashboardController extends Controller {
    
    }
    
  • В вашем routes.php измените свой маршрут, как показано ниже

    get('/', array('as' => 'administrator.dashboard', 'uses' => 'Administrator\Dashboard\DashboardController@index'));
    

Надеюсь, это сработает.

person Shahrukh Anwar    schedule 02.11.2018