如果你对该文章中的内容有疑问/不解,可以点击此处链接提问
要注明问题和此文章链接地址 点击此处跳转
方法注入
如果你需要在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;
王明昌博客
