Абстракция базы данных и методы фабрики

Мне интересно узнать больше о методах проектирования в PHP для методов абстракции и фабрики баз данных. Для справки, мой сайт представляет собой сообщество социальных сетей, представляющее общий интерес, в настоящее время в бета-режиме.

В настоящее время я начал перемещать свой старый код для поиска объектов в фабричные методы. Тем не менее, я чувствую, что ограничиваю себя, храня множество имен таблиц SQL и структуру, разделенную в каждой функции / методе.

Вопросы:

  1. Есть ли причина использовать PDO (или подобное), если я не ожидаю переключения баз данных?

  2. Может ли PDO взаимодействовать с подготовленными MySqli заявлениями, которые я сейчас использую?

  3. Это поможет мне отделить имена таблиц от каждого метода? (Если нет, какие еще шаблоны дизайна я бы хотел исследовать?)

  4. Будет ли это замедлять мой сайт, если у меня будет довольно большая база пользователей?

3 ответа

Решение

В Nettuts недавно появилась статья о некоторых преимуществах использования PDO.

Что касается вашего вопроса об абстракции, вы можете взглянуть на объектно-реляционное отображение (ORM), которое позволяет вам получать доступ к записям базы данных так же, как и к нативным объектам php. Большая часть моего опыта была связана с фреймворком Kohana, и мне нравится, как работает их ORM, но многие из популярных фреймворков php должны иметь хорошие примеры методов абстракции базы данных. Я нахожу, что чтение, где кто-то другой сделал это "правильным" способом, помогает мне.

Я хотел бы поддержать Rookwood на ORM. У меня был хороший опыт с Доктриной. Создание чего-либо самостоятельно было бы пустой тратой времени в большинстве случаев.

Я бы порекомендовал использовать PEAR или PDO.. почему?

1) Это проверено и используется десятками тысяч программистов. Если вам нужен другой программист, чтобы помочь вам, есть большая вероятность, что они знают PDO. Существует практически нулевой шанс, что они будут знать ваш API.

2) Вы не думаете, что будете менять базы данных.... НО, что если изменение версии или что-то подобное произойдет, что заставит вас мигрировать?

Другие вопросы по тегам