当前位置:  开发笔记 > 编程语言 > 正文

将操作重定向到不同命名空间中的控制器

如何解决《将操作重定向到不同命名空间中的控制器》经验,为你挑选了1个好方法。

我有中间件使用重定向来调用控制器,然后控制器显示一个视图.

public function handle($request, Closure $next)
{
    redirect()->action('Full\Namespace\To\Controller\ErrorController@fourOhThree'); 
}

我也有这条路线.当我按照路线时,视图显示正常.当我尝试重定向并使用action我的控制器的命名空间时,laravel尝试在基础应用程序中找到控制器.我收到错误

Action App\Http\Controllers\Full\Namespace\To\Controller\ErrorController@fourOhThree not defined.

当控制器位于

App\Vendor\Myname\Mypackagename\Controllers\ErrorController@fourOhThree

据我所知,我已正确命名控制器,因为它与此目录中的其他命名空间控制器相匹配.这是我试图通过动作调用的唯一控制器.

ErrorController.phpApp\Vendor\Myname\Mypackagename\Controllers

namespace Full\Namespace\To\Controller;

use App\Http\Controllers\Controller;

class ErrorController extends Controller
{
    public function fourOhThree()
    {
        return view('...');
    }
}

我认为我在如何将命名空间控制器传递给action方法时做错了.



1> lagbox..:

尝试在限定名称前添加"\".

action('\Full\Namespace\To\Controller\ErrorController@fourOhThree')

推荐阅读
ifx0448363
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有