Как правильно писать обертку pdo?

Еще год назад написал обертку для удобного использования pdo с подготовленными выражениями. Все работает, замечаний нет и я как то особо не задумывался.
А как правильно ее писать? Я много раз видел, как многое разработчики наследуют свой класс от стандартного класса PDO (причем реализация в большенстве своем имеет незначительные изменения).
А я не наследую. Мой класс полностью самостоятелен и реализует необходимый функционал.
  • Вопрос задан
  • 350 просмотров
Пригласить эксперта
Ответы на вопрос 3
OnYourLips
@OnYourLips
Посмотрите, как сделано в doctrine/dbal
Не сказал бы, что подход хороший, но наверняка лучше того, что вы могли бы сделать.
Ответ написан
65536
@65536
Мне очень нравится https://github.com/laravel/framework/tree/5.0/src/... хоть и очень много жрет, синтаксис краткий и человеческий

легко вырезается и вставляется в свой проект

сами будете делать 5 лет
Ответ написан
FanatPHP
@FanatPHP
Чебуратор тега PHP
Вопрос некорректный.
Никто не знает, что ты называешь "оберткой над ПДО". следовательно, никто не знает, что отвечать. В итоге оба ответивших пропихивают ORM с кверибилдером. Но ORM - это не "обертка" ни разу.

Следующий по популярности ответ - это не писать оберток вообще. ПДО сам по себе недообертка, и очень мало кто может добавить к ней что-то действительно стоящее. Из того, что теоретически можно было бы дописать, это
  1. исправление косяка, когда execute не возвращает statement. лечится 1 (одной) хелпер-функцией, которая принимает запрос, данные для препаредов, и возвращает statement
  2. статический синглтон. Функционал спорный, но удобный.
  3. дополнительные плейсхолдеры. Если ты до них сам дошел, то могу только пожать руку.

Все остальное, что ты мог дописать - мусор и глупость. В частности, здесь не раз и не два появлялись писатели недокверибилдеров вида
function select($what, $from, $where)
если у тебя такое - то напиши, я дам ссылку где объясняется, почему это идиотизм и головотяпство

Ответить можно только на единственный конкретный вопрос, который ты задал - да, ты правильно делаешь, что не наследуешь.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы