gpt4 book ai didi

php - 在 PHP 类之间共享对象

转载 作者:可可西里 更新时间:2023-10-31 22:17:16 27 4
gpt4 key购买 nike

在其他类之间共享对象的最佳方式是什么?

例如;具有“文章”和“用户”对象所需功能的“数据库”对象。

我不想使用全局变量(包括单例)或在每个类中创建对象的新实例,例如

function __construct() {
$this->database = new database;
$this->cache = new cache;
}

将传递对象,例如。

class test{
function __construct( $obj ) {
$this->obj = $obj;
}
}
$database = new database;
$test = new test( $database );

是要走的路吗?

最佳答案

是的。将对象传递给构造函数 - 或者传递给 setter - 是最好的方法。这种模式被称为 dependency injection .它还有一个额外的好处,就是让您的代码更易于测试(使用 stub 或模拟)。

关于php - 在 PHP 类之间共享对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/819334/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com