以下是我的情况:我的用户类包含get_friends_list()
和get_last_visit()
等功能。然后我有一个$db
对象,它是一个数据库框架,它有insert()
和select()
等函数。
我不想使用依赖注入的原因是我的$db
对象有像查询计数器这样的东西,每次执行查询时都会更新。依赖注入将创建一个新的$db
对象,因此我无法跟踪这些事情,因为会有一个全新的对象。
简而言之,有没有办法实现这一目标:
class user{
public function get_last_visit(){
return $GLOBALS['db']->get(
'users',
'last_visit',
'username' => $this->username
);
}
}
但是没有使用我听过的$ GLOBALS变量是不好的做法。
答案 0 :(得分:2)
依赖注入不会创建新对象,除非您明确clone
(不是)。
基本上:使用依赖注入。