chm*_*ers 17 php dependency-injection laravel laravel-4
是否可以将路由参数(或路径段)注入控制器构造函数?
你找到一些代码来澄清我的问题.
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');
Run Code Online (Sandbox Code Playgroud)
Ant*_*iro 30
注入它们是不可能的,但您可以通过以下方式访问所有这些内容:
class TestController{
protected $_param;
public function __construct()
{
$id = Route::current()->getParameter('id');
}
}
Run Code Online (Sandbox Code Playgroud)
Laravel 5.3.28
你不能注入参数......但是,你可以注入请求并从路由器实例获取它,如下所示:
//route: url_to_controller/{param}
public function __construct(Request $request)
{
$this->param = $request->route()->parameter('param');
}
Run Code Online (Sandbox Code Playgroud)
在Laravel 5.4 中,您可以使用它来请求参数:
public function __construct(Request $request) {
$id = $request->get("id");
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
14352 次 |
最近记录: |