假设我有两个php类 - 类Security
和类Database
安全
class Security {
public function userPermissions() {
//use getData() from Database to obtain information
}
}
数据库
class Database {
public function getData() {
// some code
}
}
安全类需要使用数据库类获取数据,有很多方法可以实现这一点,但我不确定最佳实践。
创建两者的实例更好吗
$db = new Database;
$sec = new Security($db);
然后在Security类中使用构造函数将db的实例传递给它?
或者你会在安全类的__constructor方法中创建一个新实例吗?
我会感激任何最佳实践。
答案 0 :(得分:2)
创建两者的实例,然后在Security类中使用构造函数将db的实例传递给它
您描述的方法称为Dependency injection,从架构的角度来看,它通常是更好的解决方案。