Apa yang ditambahkan “Entity API” ke API Drupal, dan mengapa sebuah modul bergantung padanya?


12

The Entity API modul meluas entitas API didefinisikan dalam Drupal. Dalam kasus apa sebuah modul harus menggunakan API yang disediakan dari modul itu? Apakah modul yang mengimplementasikan entitas baru lebih mudah ditulis jika bergantung pada modul API Entitas ?

Dengan "lebih mudah ditulis" Maksud saya modul yang menggunakan Entity API akan membutuhkan lebih sedikit kode untuk ditulis dibandingkan dengan modul yang tidak menggunakan Entity API .

Saya membaca halaman proyek, tetapi saya masih tidak sepenuhnya memahami alasan untuk lebih suka membuat modul yang bergantung pada modul API Entitas , daripada modul yang hanya bergantung pada kode inti Drupal. Saya mengerti bahwa modul yang memperpanjang aturan dan menerapkan entitas harus menggunakan modul API Entitas ; dalam kasus pertama, alasannya juga karena modul Aturan bergantung pada modul API Entitas .


1
Halaman proyek yang Anda tautkan memberikan gambaran umum yang cukup spesifik tentang apa yang dilakukan modul. Apakah Anda memiliki pertanyaan spesifik tentang mengapa modul akan bergantung padanya selain dari apa yang mereka jelaskan di sana?
jhedstrom

Jika Anda tidak menggunakan modul Entity API, Anda akhirnya menulis modul seperti proyek kotak pasir ini . Perhatikan bahwa proyek kotak pasir ini tidak memiliki tes dan hanya satu kontributor, sedangkan Entity API memiliki banyak dari keduanya.
paul-m

Jawaban:


15

Tidak lengkap, tapi di sini ada beberapa keuntungan yang saya tahu:

  • Inti Drupal hanya menyediakan EntityController untuk memuat entitas. Untuk menyimpan, memperbarui, dan menghapus, Anda harus menulisnya sendiri atau menggunakan Entity API.
  • Anda dapat mengekspos properti dasar entitas Anda dengan hook_entity_property_info (), lihat privatemsg_entity_property_info () untuk contoh. Keuntungan dari ini adalah rules.module mengetahui properti entitas Anda dan Anda membaca dan menulisnya dengan aturan. Dan Anda juga mendapatkan integrasi token gratis.
  • Itu juga dapat secara otomatis menyediakan Anda dengan UI administratif untuk entitas Anda

Apa yang Anda maksud dengan admin ui? Beberapa di antaranya ditangani oleh inti.
googletorp

2
Core menyediakan UI untuk mengonfigurasi bidang dan melampirkannya ke entitas, API entitas menyediakan UI untuk membuat dan mengelola entitas untuk entitas kustom, core tidak melakukan hal seperti itu.
Berdir

1
jangan lupa metadata_wrapper drupalcontrib.org/api/drupal/… besar yang memungkinkan Anda untuk dengan mudah mengakses nilai-nilai bidang dalam kode
mojzis

7

Integrasi Tampilan Otomatis, UI admin, entitas yang dapat diekspor (semua ini opsional). Ditambah banyak hal sintaks yang tidak membuatnya menjadi D7 dan Anda memerlukannya (generic entity_save (), entity_create (), menempatkan logika khusus Anda di "kelas entitas" ...)

Plus, modul (efq_views, aturan) melakukan hal yang sangat keren dengan properti.


-1

saya percaya, entitas api (modul) pada dasarnya dihapus dari drupal 7 core sebelum rilis karena dianggap tidak lengkap .. Hanya api entitas dasar CRUD yang berfungsi di mana dibiarkan dalam inti drupal untuk rilis GM-nya.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.