2015-04-03 2 views
3

Что я получу, если я использую Doctrine's Database Abstraction Layer (DBAL) по сравнению с простым PDO?Что предлагает абстракционный слой базы данных Doctrine через простой PDO?

Разве PDO не должен быть слоем абстракции? Насколько я могу судить, единственное преимущество, которое я получаю, это возможность использовать Oracle oci8 драйвер с PDO-подобным API.

Что мне не хватает?

+1

[Довольно много вещей] (http://docs.doctrine-project.org/projects/doctrine-dbal/en/latest /), по внешнему виду! Например. фискальный запрос-строитель, межплатформенный запрос схемы, механизм событий, система ошпаривания ... – halfer

+0

В проектах, где я использую только DBAL, построитель запросов - самая большая вещь для меня. Пользовательские типы также очень удобны. – prodigitalson

+0

Должна пропустить эту страницу. Спасибо за ваш ответ. – cesarv

ответ

0

Преимущества любого уровня абстракции DB уменьшают количество ошибок разработчика (не только это).

Разница между ними - уровень абстракции. Например, DBAL построен поверх PDO. Это означает, что DBAL определенно должен быть немного выше уровня абстракции, чем PDO.

В любом случае, оба они очень низкого уровня абстракции. Вы должны использовать их только в том случае, если у вас есть хорошее знание относительных БД. Я имею в виду, что вы должны знать все типы хранимых данных и использовать их правильно, также вы должны иметь некоторый опыт в построении различных архитектур БД и знать преимущества каждого типа отношений.

Если нет, я предлагаю вам использовать что-то более высокое (например, красноречивое).

PS Я знаю все, что я написал выше, но в любом случае я использую слой абстракции, созданный на вершине Eloquent. Итак, я вижу смысл использования самого высокого уровня абстракции, который у меня есть ...

 Смежные вопросы

  • Нет связанных вопросов^_^