logo

Дополнительные типы блоков (EBT) — новый опыт конструктора страниц❗

Дополнительные типы блоков (EBT) — стилизованные, настраиваемые типы блоков: слайдшоу, вкладки, карточки, аккордеоны и многие другие. Встроенные настройки для фона, DOM Box, плагины Javascript.

Демо EBT модули Скачать EBT модули

❗Дополнительные типы параграфов (EPT) — новый опыт работы с параграфами

Дополнительные типы параграфов (EPT) — набор модулей, основанный на аналогичных параграфах.

Демо EPT модули Скачать EPT модули

Scroll

Работа с БД в Drupal 7 - урок 8 - Запросы вставки (INSERT INTO)

02/12/2019, by Ivan

Запросы вставки всегда должны использовать конструктор запросов. Некоторые БД требуют специальных обработчиков для LOB (Large OBject, такие как текст в MySQL) и BLOB (Binary Large OBject) полей, так что уровень абстракции необходим для индивидуальных драйверов БД для реализации подобных обработчиков.

Запросы вставки начинаются с использования функции db_insert():

Работа с БД в Drupal 7 - урок 7 - Обработка результатов запроса (fetch)

02/12/2019, by Ivan

Запрос выборки всегда будет возвращать результат обработки запроса как 0 или больше записей. Есть несколько путей обработать данные результата запроса, которые вы можете использовать по своему усмотрению.

Наиболее часто результаты используются в виде цикла foreach().

Работа с БД в Drupal 7 - урок 6 - Изменение запроса на лету (hook_query_alter)

02/12/2019, by Ivan

Важной особенностью динамических запросов выбора является возможность других модулей изменять запросы на лету. Это позволяет другим модулям вставлять их собственные инструкции в запрос, тем самым влияя на поведение запроса или применить изменения во время выполнения запроса, например задать разграничение прав к нодам. Существуют 3 компонента изменения запроса на лету, tagging, meta data и hook_query_alter().

Работа с БД в Drupal 7 - урок 5 - Extenders (Расширения)

02/12/2019, by Ivan

Запросы выборки поддерживают расширения (extenders). Расширение дает возможность добавить функциональность к запросу выборки во время выполнения. Эта функциональность может быть дополнительным методом или обрабатывать поведение существующего метода.

Для этого используется в ООП паттерны (design patterns), расширения реализуют таким образом Decorator Pattern. Они прикрепляют дополнительные обязанности к динамическому объекту через предоставления гибкого альтернативного подкласса для метода расширения.

Работа с БД в Drupal 7 - урок 4 - Динамические запросы (SELECT)

02/12/2019, by Ivan

Пожалуй мы подобрались к самой интересной части Database API Drupal: динамические запросы. Динамические запросы называются так, потому что Drupal динамически дописывает строку запроса. Все запросы вставки, обновления, удаления или слияния могут быть динамическими. Запросы выборки могут быть как динамическими, так и статическими. Тем не менее, используйте динамические запросы и для запросов выборки.

Работа с БД в Drupal 7 - урок 3 - Статические запросы (SELECT)

02/12/2019, by Ivan

Наиболее общая форма запроса в Drupal это статический запрос. Статический запрос будет передан в БД дословно. Только запрос выбора (select) может быть статический.

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

Простой путь выполнить статический запрос через метод запроса:

Работа с БД в Drupal 7 - урок 2 - Кофигурация БД

02/12/2019, by Ivan

Основным средством определения соединения с БД является массив $databases в settings.php. Как подсказывает само название, $databases позволяет определить множество соединений с БД. Он также поддерживает определение множества целей. Соединение не открывается (объект соединения не создается) пока первый раз некоторый кусочек кода не выполнит запрос к БД.

Работа с БД в Drupal 7 - урок 1 - drupal db api

02/12/2019, by Ivan

Если вы писали модули для 6ой версии Drupal, то для вас не составит труда перейти на новый database API drupal 7. Новый DB API работает на основе расширения php PDO, что дает ему возможность работать на различных базах данных таких как MySQL, PostgreSQL, MSSQL и возможно Oracle. Насчет простоты сказать сложно, к новому синтаксису нужно привыкнуть, писать SQL-запросы куда привычнее.

Вот немного из того что пишут в официальной документации:

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

02/12/2019, by Ivan

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

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