我所有的 PHP 都是面向对象的,我想对所有依赖项使用依赖注入(即需要其他类工作的类)。这个可以吗?
我想我发布了很多信息以供阅读......但如果你想要细节,这里有。
此外,如果这不会使问题过于复杂,我可以使用工厂模式进行所有依赖注入吗?- 具体信息在上面的链接中。
嗯,是。
依赖注入的全部意义在于抽象,为函数/方法/对象/类提供它需要的东西,并让它在其中工作。生成对象和变量以传递给 DI 的工厂很好。
例如:
public function pdo_select(PDO $pdo_connection, $table, $where_condition)
在这里,我们传入我们需要的一切,连接对象、表名和WHERE
MySQL 子句。我们可以通过做进一步抽象这个函数:
public function pdo_query(PDO $pdo_connection, $query)
现在,我们不仅仅将我们的功能限制为选择,我们可以进行各种查询。
但是你看到你绝对可以将对象传递给不同的函数来使用。
传递对象还为您提供了类型提示的良好触感,如果输入了不同类型的参数,它会抛出错误,帮助您进行调试。