如果我使用 setter 进行依赖注入,并且许多类都需要相同的依赖项,我是否应该让所有这些类扩展一个基类,其中包含用于依赖项的 setter?
例如:
假设我有三个类:Page、Article、Comment,它们都依赖于 $db 和 $user。
拥有基类依赖项有什么好处或坏处,如下所示:
class Dependencies
{
private $database;
private $user;
final public function setDatabase($dbh)
{
$this->database = $dbh;
}
final public function setUser($user)
{
$this->user = $user;
}
}
然后让他的其他类作为依赖项的扩展
class Article extends Dependencies
{
public function __construct()
{
// some code
}
// some other functions that use $this->database and $this->user
}
而不是在每个单独的类(文章、页面和评论)中存在 setDatabase 和 setUser。
谢谢。