【问题标题】:Laravel custom controller not found when changing the controller directory更改控制器目录时未找到 Laravel 自定义控制器
【发布时间】:2020-12-17 14:09:21
【问题描述】:

当像这样改变控制器目录位置时:

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,但仍然出现错误。

【问题讨论】:

    标签: laravel-controller


    【解决方案1】:

    laravel 上的每个 Controller 都应该是 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
    

    【讨论】:

      猜你喜欢
      • 2019-07-12
      • 2019-09-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-01
      • 2020-01-07
      • 1970-01-01
      相关资源
      最近更新 更多