Абстракция базы данных и методы фабрики - PullRequest
1 голос
/ 03 июня 2010

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

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

Вопросы:

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

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

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

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

Ответы [ 3 ]

1 голос
/ 04 июня 2010

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

1 голос
/ 04 июня 2010

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

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

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

1 голос
/ 04 июня 2010

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

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

...