web-dev-qa-db-ja.com

"Entity API"はDrupal APIに何を追加しますか、そしてモジュールがそれに依存するのはなぜですか?

エンティティAPI モジュールは、Drupalで定義されたエンティティAPIを拡張します。どの場合、モジュールはそのモジュールから提供されたAPIを使用する必要がありますか? Entity APIモジュールに依存している場合、新しいエンティティを実装するモジュールは記述しやすくなりますか?

「書きやすい」とは、Entity APIを使用するモジュールが、Entity API

私はプロジェクトページを読みましたが、Entity APIモジュールに依存するモジュールではなく、モジュールに依存するモジュールを作成する理由を完全には理解していませんDrupalコアコードのみに依存するモジュール。ルールを拡張し、エンティティを実装するモジュールはEntity APIモジュール。最初のケースでは、RulesモジュールがEntity APIモジュール。

12
kiamlaluno

完全ではありませんが、ここに私が知っているいくつかの利点があります:

  • Drupalコアは、エンティティーをロードするためのEntityControllerのみを提供します。保存、更新、削除するには、自分で作成するか、Entity APIを使用する必要があります。
  • エンティティの基本プロパティをhook_entity_property_info()で公開できます。例は privatemsg_entity_property_info() を参照してください。これの利点は、rules.moduleがエンティティのプロパティを認識し、ルールを使用してそれらを読み書きできることです。また、トークンの統合も無料で受けられます。
  • エンティティの管理UIを自動的に提供することもできます
15
Berdir

自動ビュー統合、管理UI、エクスポート可能なエンティティ(これはすべてオプションです)。さらに、D7に組み込まれなかった多くの構文シュガーのものが必要であり、それらが必要です(ジェネリックentity_save()、entity_create()、カスタムロジックを「エンティティクラス」に配置...)

さらに、モジュール(efq_views、ルール)は、プロパティを使用して非常に優れた機能を果たします。

7
Bojan Zivanovic