Как запустить методы класса базы данных внутри других классов? - PullRequest
1 голос
/ 14 января 2010

Я новичок в использовании классов в PHP, я только что понял, что в большинстве моих методов классов мне нужно выполнить несколько запросов MySQL. У меня есть другой класс, который обрабатывает мое соединение и запросы, но как мне вызвать этот класс из других классов? Разве этот вид победы над целями не использует классы, если все мои классы основаны на моем классе БД?

1 Ответ

1 голос
/ 14 января 2010

это обычно решается с помощью шаблона Singleton или Factory ...

когда вам нужно использовать базу данных, вы забираете объект базы данных приложения:

$db = Site::getDb();   // singleton
$db->exec('update t set i = i + 1');

getDb возвращает статический экземпляр.

или

 $db = Db::getDb('dsn');   // factory
 $db->exec('update t set i = i + 1');

возвращает статический экземпляр, если он существует, или создает новый дескриптор db для этого dsn ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...