logo

パレット - カラフルに🎨

Palette — ビジュアルページビルダー、デザインの専門知識は不要です。

ライブデモ パレットをダウンロード

Scroll

設定の概要(他の情報タイプとの比較)

30/04/2020, by maria

Drupal 8には、いくつかのタイプの情報があります:

  • Content

サイトに表示され、ユーザーが編集することを目的とした情報:記事、基本ページ、画像、ファイルなど。

  • Session

個々のユーザーとサイトとのやり取りに関する情報。たとえば、ビューのフィルターに対する現在の選択など。これは一時的なものであり、単一のユーザーにパーソナライズされています。

頻繁に、および/またはユーザーの操作なしで変更される可能性のある情報。例:Cronが最後に実行された時刻、ノード権限の再構築が必要かどうかなど。

コンテンツではなく、頻繁には変更されないサイトに関する情報。たとえば、サイト名、定義したコンテンツタイプやビューなど。

別の場所にも保存されているサイトに関する情報。キャッシュは、データの取得を高速化するためだけに存在します。キャッシュが正規データを保存することはありません。

settings.phpファイルにハードコードされた、サイトの読み取り専用情報。

情報をどのように分類するかを決定する

モジュールが保存する情報をコンテンツ、状態、設定のどれに分類すべきかを決定する方法が常に明確であるとは限りません。いくつかのガイドラインを次に示します:

  • 設定と状態:情報を開発サーバーから実稼働サーバーにデプロイする必要がある場合、それはおそらく状態情報ではなく設定情報です。
  • 設定とコンテンツ:サイトビルダーかサイトエディターかを考えてください。サイトの「サイトエディター」ロールが情報を編集したい場合は、おそらくコンテンツです。「サイトビルダー」ロールだけが情報を編集する権限を持ちたい場合は、おそらく設定です。ただし、これは絶対的なルールではありません。
  • 設定とコンテンツ:数を考えてください。膨大な数の項目がある場合は、コンテンツの可能性があります。ほんの数個しかない場合は、設定の可能性があります。
  • 設定とコンテンツ:設定は、コンテンツタイプやタクソノミーボキャブラリーなどの「物のタイプ」を定義する傾向があります。次に、タイプ内の各「物」はコンテンツの一部です:コンテンツノード、タクソノミー用語など。

シンプル設定と設定エンティティ

設定管理システムを使用するときに最初に下す必要がある決定の1つは、どのタイプの設定を保存するかです。

シンプル設定は実装が少し簡単で、ブール値、整数、単純なテキスト文字列の保存につながる基本的な設定オプションに最適です。良い例は、モジュールの特定の機能のオン/オフ値や、システムモジュールによって設定されるサイト名です。シンプル設定には、モジュールが正しく機能するために必要なすべてのオプションも含まれます。たとえば、JavaScriptの集約はオンまたはオフのどちらかでなければなりません。それが単に存在しない場合、システムモジュールは適切なアクションの順序を決定できません。シンプル設定は、それを提供するモジュールにのみ依存できます。たとえば、system.siteはシステムモジュールにのみ依存し、他には何も依存しません。

設定エンティティは、ユーザーが作成および削除できる物の情報リストを保存します。コードは、0個であっても100個以上であっても正常に機能し続けます。例:画像スタイル、ビューなど。設定エンティティには、Drupalの他のエンティティとまったく同じように起動される完全なCRUDフックセットも付属しており、他のモジュールが必要としたり反応したりする可能性のある設定の理想的な候補になります。例として、Viewsは設定エンティティを使用して、他のモジュールがViewsモジュールに設定(ビュー)を提供できるフックが実行時に起動されるシナリオを可能にします。設定エンティティは動的な依存関係を持つことができます。シンプル設定と同様に、設定エンティティはそれを提供するモジュールに依存します。たとえば、views.view.frontpageはViewsモジュールに依存しますが、ノードをリストするため、Nodeモジュールにも依存します。後でArticleノードのみを表示するように更新された場合、Article設定エンティティ(node.type.article)への依存関係も追加されます。などなど。