Що додає API Entity API до API Drupal і чому від нього залежить модуль?


12

Модуль API Entity розширює API сутності, визначений в Drupal. У яких випадках модуль повинен використовувати API, наданий із цього модуля? Чи простіше записати модулі, які реалізують нові об'єкти, якщо вони залежать від модуля API Entity ?

Під "простішим записом " я маю на увазі, що для модулів, що використовують Entity API , потрібно буде записати менше коду порівняно з модулем, який не використовує Entity API .

Я читаю сторінку проекту, але все ще не повністю розумію причину, щоб віддати перевагу створенню модуля, який залежить від модуля API Entity , а не модуля залежно лише від основного коду Drupal. Я розумію, що модуль, що розширює правила та реалізує об'єкт, повинен використовувати модуль API Entity ; в першому випадку причина також полягає в тому, що модуль Правил залежить від модуля API Entity .


1
Сторінка проекту, на яку ви пов’язали, дає досить конкретний огляд того, що робить модуль. У вас є конкретні запитання, чому модуль залежатиме від нього, крім того, що вони викладають там?
jhedstrom

Якщо ви не використовуєте модуль API Entity, ви закінчите писати модуль, подібний до цього проекту пісочниці . Зауважте, що цей проект з пісочниці не має тестів і лише одного учасника, тоді як в Entity API є багато обох.
paul-m

Відповіді:


15

Не повно, але ось деякі переваги, про які я знаю:

  • Drupal core забезпечує лише EntityController для завантаження об'єктів. Для збереження, оновлення та видалення вам потрібно написати це самостійно або скористатися Entity API.
  • Ви можете виставити основні властивості ваших сутностей дотепності hook_entity_property_info (), см privatemsg_entity_property_info () для прикладу. Перевага цього полягає в тому, що Rules.module знає властивості вашої сутності, і ви читаєте і записуєте їх з правилами. А ви також отримаєте інтеграцію токенів безкоштовно.
  • Він також може автоматично надати адміністративний інтерфейс для ваших організацій

Що ти маєш на увазі під адміністратором? Деякі з них обробляються ядром.
googletorp

2
Core надає інтерфейс користувача для налаштування полів та приєднання їх до сутностей, API-сутність надає інтерфейс для створення та управління об'єктами для спеціальних сутностей, ядро ​​нічого подібного не робить.
Бердір

1
не забувати чудовий метадані_wrapper drupalcontrib.org/api/drupal/…, який дозволяє легко отримати доступ до значень поля в коді
mojzis

7

Автоматична інтеграція переглядів, інтерфейс адміністратора, об'єкти, що експортуються (все це необов’язково). Плюс багато речей із синтаксичним цукром, які не перетворили його на D7, і вони вам потрібні (generic entit_save (), entit_create (), ввівши власну логіку в "класи сутностей" ...)

Крім того, модулі (efq_views, правила) дійсно цікаві речі з властивостями.


-1

я вірю, що api (модуль) сутності був вилучений з ядра drupal 7 перед випуском, тому що він вважався неповним. Лише основні функції api CRUD, які залишилися в drupal core, для його випуску GM.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.