Пакет DBAL - это Data Base Abstraction Layer, то есть уровень абстрагирования от базы данных. При помощи DBAL классов клиентский код работает с базой данных, не зная, какой именно драйвер базы данных (MySQL, Oracle и т.д.) используется в данных момент.
Пакет DBAL зависит от следующих пакетов: core, toolkit, classkit, wact (часть, касающаяся db), config, net.
В качестве основы для DBAL-а используется слегка адаптированный порт от DBAL из WACT-а, так как он является достаточно абстрактным и легко расширяемым. Также в рамках данного пакета были реализованы средства для создания подключений к базе данных, средства для работы сразу с несколькими базами данных, а также некоторые дополнительные классы, облегчающие тестирование и способствующие снижению дублирования и повышения уровня повторного использования кода:
Группа классов | Назначение |
---|---|
Driver | Драйвер (Driver) - базовые классы для работы с базами данных, которые абстрагируют доступ к базе данных. |
Connection | Группа классов, используемых для создания и хранения подключений к базе данных. |
Query | Группа классов, позволяющих тем или иным образом инкапсулировать SQL запросы. |
Criteria | Группа классов, позволяющих строить условия для инкапсулированных SQL запросов. |
QueryModifier | Группа классов, позволяющих инкапсулировать код, который модифицирует запросы Query. Позволяет увеличить уровень повторного использования кода. |
lmbTableGateway | Класс, упрощающий работу с отдельными таблицами базы данных. |
Обсуждение