Обзор API базы данных
API базы данных Drupal 8 предоставляет стандартный, независимый от поставщика уровень абстракции для доступа к серверам баз данных. Вы почти никогда не должны делать вызовы базы данных напрямую, если вы не разрабатываете основные API.
API разработан, чтобы максимально сохранить синтаксис и мощь SQL, но также:
- Легко поддерживать несколько серверов баз данных;
- Позволить разработчикам использовать более сложные функции, такие как транзакции;
- Предоставить структурированный интерфейс для динамического построения запросов;
- Для обеспечения проверки безопасности и других передовых методов;
- Обеспечить модули чистым интерфейсом для перехвата и изменения запросов сайта.
Основная документация по API базы данных получена непосредственно из комментариев в коде. Этот раздел Справочника дополняет эти документы API, предоставляя учебное пособие для авторов модулей, которые хотят взаимодействовать с системой баз данных, а также обзор системы с точки зрения администратора.
API базы данных был построен с использованием объектно-ориентированных концепций проектирования, и поэтому этот документ предполагает, по крайней мере, частичное знакомство с этими концепциями. Обычные операции также имеют процедурный стиль, доступный для использования, но эти процедурные стили не рекомендуются. Для взаимодействия с базой данных рекомендуется использовать объект подключения.
Обратите внимание, что API базы данных не всегда может быть лучшим вариантом для взаимодействия с данными. Использование API в Drupal 8 обычно ситуативно, например, использование Node API для операций Node CRUD, Entity API для создания Entity и т. д. Пожалуйста, просмотрите документы API, чтобы определить, какой API лучше всего соответствует вашим потребностям.
Примечание: этот справочник может не охватывать все функции API.
Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.