Ссылки на другие классы в классе

Скажем, у меня есть два класса 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);

а затем в классе безопасности использовать конструктор для передачи ему экземпляра БД?

Или вы бы создали новый экземпляр в методе __constructor в классе безопасности?

Я был бы благодарен за любую лучшую практику.

3

Решение

Создайте экземпляр обоих, а затем в классе Security используйте конструктор, чтобы передать ему экземпляр базы данных.

Подход, который вы описали, называется Внедрение зависимости и это вообще лучшее решение для вашего случая с архитектурной точки зрения.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]