Пользовательский контроллер Laravel не найден при изменении каталога контроллера

При изменении местоположения каталога контроллера следующим образом:

Route::group([
  'prefix'      => 'report',
  'middleware'  => 'auth',
], function() {
    Route::get('/summary','IOS\ReportController@index');
});

Он возвращает сообщение об ошибке:

Error
Class 'App\Http\Controllers\IOS\Controller' not found

Но он отлично работает следующим образом:

Route::group([
  'prefix'      => 'report',
  'middleware'  => 'auth',
], function() {
    Route::get('/summary','ReportController@index');
});

После изменения местоположения каталога я пытаюсь composer dump-autoload, но все еще получаю сообщение об ошибке.


person Shah Alam    schedule 17.12.2020    source источник


Ответы (1)


каждый Controller в laravel должен extends базовый laravel Controller
базовый контроллер находится по этому пути: App\Http\Controllers
поэтому, когда вы создаете контроллер в другой папке, созданный контроллер хочет расширить базовый контроллер, но не может найдите его в папке
, поэтому вы должны сделать это ReportController

namespace App\Http\Controllers\IOS;   //namespace of your controller
use App\Http\Controllers\Controller;  //the path of base Controller

class ReportController extends Controller  //your controller extends from base controller
person Reza sh    schedule 17.12.2020
comment
Спасибо за отличное объяснение - person Shah Alam; 17.12.2020