是否可以在Laravel中将路由参数传递给控制器构造函数? [英] Is it possible to pass a route parameter to controller constructor in Laravel?
本文介绍了是否可以在Laravel中将路由参数传递给控制器构造函数?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
是否可以向控制器构造函数注入路由参数(或路由段)?
Is it possible to inject a route-paramter (or an route segment) to the controller-constructor?
您找到一些代码来澄清我的问题.
You find some code to clarify my question.
class TestController{
protected $_param;
public function __construct($paramFromRoute)
{
$this->param = $paramFromRoute;
}
public function testAction()
{
return "Hello ".$this->_param;
}
}
----------------------------------------------------
App::bind('TestController', function($app, $paramFromRoute){
$controller = new TestController($paramFromRoute);
return $controller;
});
----------------------------------------------------
// here should be some magic
Route::get('foo/{bar}', 'TestController');
推荐答案
无法注入它们,但是您可以通过以下方式访问它们:
It's not possible to inject them, but you have access to all of them via:
class TestController{
protected $_param;
public function __construct()
{
$id = Route::current()->getParameter('id');
}
}
这篇关于是否可以在Laravel中将路由参数传递给控制器构造函数?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文