Где начинаются и заканчиваются обязанности Db Abstraction в PHP? - PullRequest
2 голосов
/ 24 сентября 2008

В PHP, какова лучшая практика для определения обязанностей Db Abstraction Layer?

Является ли OOP хорошей идеей с точки зрения производительности? Сколько должен быть универсальный объектный код, а сколько должны быть очень конкретные функции?

Ответы [ 2 ]

1 голос
/ 24 сентября 2008

В большинстве написанных мною приложений, как правило, есть два разных типа доступа к данным. Один из них предназначен для транзакционных операций: извлечение определенных объектов из хранилища данных, их изменение и сохранение обратно. Я нашел твердый ORM, чтобы быть лучшим решением здесь. Не пытайтесь писать свои собственные (как бы это ни было интересно)

Другой распространенный тип доступа к данным - для отчетов. ORM здесь не лучшее решение, поэтому я обычно использую схему, использующую пользовательские запросы SQL. Обычная PDO хорошо работает здесь. Вы можете создать специальный объект значений только для этого отчета, и запрос PDO извлекает значения в объект. Отчеты должны быть быстрыми, а их построение с использованием слоя ORM обычно слишком медленное и громоздкое.

1 голос
/ 24 сентября 2008

Уже есть несколько отличных решений для этого. DAL - непростая вещь, тем более что речь идет о многих проблемах безопасности. Я бы предложил проверить PDO и MySQLi . Даже если вы напишете класс-оболочку для одного из них, тяжелый подъем будет сделан для вас надежным и безопасным способом.

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