【发布时间】:2016-01-05 13:18:54
【问题描述】:
我有一个中间件,它使用重定向来调用控制器,然后显示一个视图。
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.php 内App\Vendor\Myname\Mypackagename\Controllers
namespace Full\Namespace\To\Controller;
use App\Http\Controllers\Controller;
class ErrorController extends Controller
{
public function fourOhThree()
{
return view('...');
}
}
我认为我在将命名空间控制器传递给 action 方法时做错了。
【问题讨论】:
标签: php laravel-5 laravel-5.2