限时免费试用:欢迎注册 api.bigmodel.org ,快速体验大模型 API 接入服务。
当前位置:首页 >开发者 >网站框架 >后端框架 >ThinkPHP

thinkphp5.0 | 方法注入属性注入

分类:ThinkPHP时间:2019-02-11浏览:3418
方法注入
如果你需要在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;

本站文章如未注明出处均为原创,转载请注明出处,如有侵权请邮件联系站长。
0/500
Share your thoughts respectfully.