Laravel 5 路由直接调用控制器

Posted

技术标签:

【中文标题】Laravel 5 路由直接调用控制器【英文标题】:Laravel 5 routes call controller directly 【发布时间】:2015-10-02 00:30:55 【问题描述】:

我正在尝试像这样在 Laravel 5 的 routes.php 中直接调用控制器:

    Route::get('/', function()


    if (\Auth::guest())
        $controller = new \App\Http\Controllers\ConstructorController;
    else
        $controller = new \App\Http\Controllers\HomeController;
    

    return $controller->index();
);

但是,我收到以下错误:

routes.php 第 109 行中的 FatalErrorException:类 'HomeController' 不是 找到了

我错过了什么?

谢谢

【问题讨论】:

家庭控制器? :) 您是否在 \App\Http\Controllers 命名空间中定义了 HomeController 类? 根据您在示例中所做的事情,您最好使用中间件laravel.com/docs/5.1/middleware 如建议..这里最好使用中间件。它更容易实现和理解 我认为您的命名空间设置为 App\Providers 文件夹内 RouteServiceProvider 中的 App\Http\Controllers。 您应该检查命名空间并使对象删除路径直到命名空间。 【参考方案1】:

尝试做一个composer dump-autoload

【讨论】:

以上是关于Laravel 5 路由直接调用控制器的主要内容,如果未能解决你的问题,请参考以下文章

使用ajax从控制器调用函数的新路由或其他方式? Laravel 5.2,阿贾克斯

Laravel (5) - 使用可选参数路由到控制器

Laravel 5:在路由中获取 ajax 数据并传递给控制器

laravel 从控制器调用路由

Laravel:在路由与控制器上调用视图

来自控制器的 Laravel 调用路由