引用类中的其他类 - php

时间:2014-10-25 12:16:30

标签: php class oop methods

假设我有两个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方法中创建一个新实例吗?

我会感激任何最佳实践。

1 个答案:

答案 0 :(得分:2)

  

创建两者的实例,然后在Security类中使用构造函数将db的实例传递给它

您描述的方法称为Dependency injection,从架构的角度来看,它通常是更好的解决方案。