thinkphp5.0 | 方法注入属性注入
方法注入
如果你需要在Request请求对象中添加自己的方法,可以使用Request对象的方法注入功能,例如:
// 通过hook方法注入动态方法
Request::hook('user','getUserInfo');
getUserInfo函数定义如下
function getUserInfo(Request $request, $userId)
{
// 根据$userId获取用户信息
return $info;
}
接下来,我们可以直接在控制器中使用:
public function index()
{
$info = Request::instance()->user($userId);
}
属性注入
可以动态注入当前Request对象的属性,方法:
// 动态绑定属性
Request::instance()->bind('user',new User);
// 或者使用
Request::instance()->user = new User;
获取绑定的属性使用下面的方式:
Request::instance()->user;
如果控制器注入请求对象的话,也可以直接使用
$this->request->user;
或者使用助手函数:
request()->user;
本站文章如未注明出处均为原创,转载请注明出处,如有侵权请邮件联系站长。