Extra Block Types (EBT) - New Layout Builder experience❗

Extra Block Types (EBT) - styled, customizable block types: Slideshows, Tabs, Cards, Accordions and many others. Built-in settings for background, DOM Box, javascript plugins. Experience the future of layout building today.

Demo EBT modules Download EBT modules

❗Extra Paragraph Types (EPT) - New Paragraphs experience

Extra Paragraph Types (EPT) - analogical paragraph based set of modules.

Demo EPT modules Download EPT modules

Scroll

Drupal 7 - Работа с БД через PHP PDO

02/12/2019, by Ivan

С переходом на Drupal 7 мы переходим на новый Drupal DB abstraction layer API, который сделан на основе PDOPDO уже давно используется в Zend framework, а так же во многих других php фреймворках. Все было так хорошо в Drupal 6 с написанием SQL-запросов, зачем нам что-то новое?

Для начала давайте разберемся, что такое PDO.

PDO - позволяет перенести php код работы с БД для работы с одной БД на другую БД. Допустим ваш сайт работал с MySQL, то вы можете безболезненно перейти на PostgreSQL. Насчет использования Oracle я пока не уверен, потому что не пробовал, но тоже должно работать.

PHP Data Objects (PDO) это расширение для PHP, которое добавляет легкий, составной интерфейс для доступа к БД. Драйвер каждой БД реализуется через PDO интерфейс и может быть расширен специфичными функциями каждого сервера БД.

PDO предоставляет доступ для abstraction layer, который в свою очередь используется для обработки запроса и представления данных. PDO не предоставляет абстракцию от БД, он не переписывает SQL и не эмулирует недостающие возможности для отдельных серверов БД. Вам следует использовать полномасштабный abstraction layer если вам необходимы эти возможности. PDO совместим в PHP 5.1 и выше и доступен как PECL расширение для PHP 5. PDO требует новые возможности ООП в ядре PHP 5 и не поддерживает старые версии PHP.

Это значит что программисты могут писать кросплатформенный код еще проще. PDO - это не abstraction layer как PearDB. PDO это больше доступ к БД, нежели API.

Если мы хотим писать модули для Drupal 7, то нам нужно использовать именно синтаксис PDO для написания запросов, чтобы все наши модули могли работать со многими базами данных.