Symfony 2: создайте собственный уровень доступа к БД - PullRequest
2 голосов
/ 26 октября 2011

Я новичок здесь и в исследовательской поездке.Мы хотели бы использовать Symfony2 для нового проекта.

Теперь у нас есть проблема, связанная с тем, что нам нужно использовать собственный уровень доступа к БД, разработанный компанией.Мы не хотим потерять весь слой Symfony / Doctrine для обработки данных.Наша идея состоит в том, чтобы создать или перезаписать слой доступа к базе данных ниже Doctrine.Что-то вроде создания моста (например, PDO) между Doctrine и нашим уровнем доступа к БД.

Кто-нибудь знает, как мы можем это сделать, или, может быть, кто-то уже делал подобные вещи и может предоставить нам практические рекомендации?

Пожалуйста, не задавайте вопросов почему.Нам просто нужно использовать слой доступа компании!Спасибо

http://forum.symfony -project.org / viewtopic.php? F = 23 & t = 37637

Ответы [ 2 ]

1 голос
/ 24 ноября 2011

Я нашел решение в Doctrine2 doc. Это довольно легко.

Мне потребовалось на разработку и тестирование (веб-интерфейс и консоль) около полдня

Я сделал это в 4 этапа:

  1. скопировать Doctrine \ DBAL \ Driver \ OCI8 в новую папку.
  2. переименование файлов.
  3. изменить функции для использования собственного уровня доступа к базе данных.
  4. добавить в конфигурационный файл
    doctrine:
      dbal:
        driver_class: /Path/To/Driver/Class

Доктрина содержит немного, но немного информации об уровне абстракции: Поддержка других баз данных

0 голосов
/ 26 октября 2011

Если вы верите этому § документации доктрины , вы можете увидеть, что вы можете использовать пакет Common, поскольку он не требует DBAL.К сожалению, то же самое нельзя сказать о пакете ORM.Лучшее, что можно сделать, это, вероятно, разветвить этот пакет, чтобы он поддерживал ваш собственный DBAL.Соболезнования за обязательство использовать этот DBAL.

...