【问题标题】:laravel is giving error on custom controller used in routeslaravel 在路由中使用的自定义控制器上给出错误
【发布时间】:2017-04-23 21:48:41
【问题描述】:

我在 routes/web.php 文件中有一个简单的

Route::get(Config::get('constants.ADMIN_PATH') . '/categories', 'AdminControllers\AdminPagesController@index');

我创建了一个文件夹 AdminControllers,里面有一个名为 AdminPagesController 的控制器,但我收到错误

Class App\Http\Controllers\AdminControllers\AdminPagesController does not exist

而我查看了相同的文件夹和类存在。这是我的课程代码

命名空间 App\Http\Controllers;

使用 Illuminate\Http\Request;

class AdminPagesController extends Controller
{
    public function __construct() {

    }

    public function index () {
        return "hello";
    }
}

【问题讨论】:

    标签: php laravel model-view-controller routes laravel-routing


    【解决方案1】:

    将命名空间更改为

    namespace App\Http\Controllers\AdminControllers;
    

    Laravel 将根据您的名称间距而不是您的目录结构来解析控制器。

    【讨论】:

      【解决方案2】:

      您应该正确指定命名空间,将其更改为:

      namespace App\Http\Controllers\AdminControllers; // <------- correct this namespace
      
      use Illuminate\Http\Request;
      
      class AdminPagesController extends Controller
      {
          public function __construct() {
      
          }
      
          public function index () {
              return "hello";
          }
      }
      

      希望这会有所帮助!

      【讨论】:

      • @HabibJutt - 如果您认为此答案正确且有帮助,请接受并点赞此答案,因为它激励我回答此类其他问题并帮助其他人快速找到正确答案!
      • 不要打架,一切都取决于 OP... :D
      • 当别人先回答时要求接受只是一个阴暗的举动
      【解决方案3】:

      如果您选择将控制器更深地嵌套在 **

      应用\Http\控制器


      **目录,使用相对于的具体类名

      应用\Http\控制器

      根命名空间。

      命名空间 App\Http\Controllers\AdminControllers;


      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-09-14
        • 2015-09-26
        • 2020-08-23
        • 2018-06-11
        • 2020-03-13
        • 1970-01-01
        相关资源
        最近更新 更多