这些方法中哪一种在PHP中更有效(或更精通)?
class Amazing {
protected $db;
public function __construct () {
$this->db = new Database::getInstance();
}
public function do ($blah) {
$this->db->doInsert($blah);
}
public function again ($blah) {
$this->db->doUpdate($blah);
}
}
OR:
class Less_Amazing {
public function do ($blah) {
$db = new Database::getInstance();
$db->doInsert($blah)
}
public function again ($blah) {
$db = new Database::getInstance();
$db->doUpdate($blah)
}
}
一品脱啤酒正在回答。
答案 0 :(得分:3)
我建议对这种情况使用依赖注入。你的班级应该尽可能减少对其他班级的依赖。在通过依赖注入构建对象时,应该为它提供任何依赖。每个班级都应遵循单一责任原则,即每个班级应承担一项责任。通过控制反转启用依赖注入。这意味着类Amazing不必创建数据库连接的实例。通过构造函数注入为它提供了一个数据库连接对象,所有它必须做的就是做“惊人的工作”:)
}, function (chart) {
chart.renderer.text('<span style="color: red; font-weight:bold">Test</span>', 331, 41)
.css({
fontSize: '12px'
})
.add();
});
}, function (chart) {
chart.renderer.text('<span style="color: red; font-weight:bold">(10)</span>', 331, 33)
.css({
fontSize: '11px'
})
.add();
});