私は自分のモジュールに対して非常に堅牢な構成ペインを実行する習慣になりました。変数名と管理がpainであることがわかりました。
mymodule_section_subvar_varname_type_context
のような変数があり、変数名の要素の順序が分からないだけでなく、長い変数名があると設計上の欠陥があるように感じます。
変数mymodule_section_settings
でシリアル化された配列を、その配列の保守を容易にする一連の関数と組み合わせて使用することを検討してきましたが、確立されているベストプラクティス(存在する場合)への入力が大好きです接頭辞および/または私たちが信頼するモジュールの例の外、およびそれらが変数の大きなセットに対して何をしているのか。
ありがとう!
Drupal変数を使用して配列を含めることができます。つまり、Drupalコアモジュールも同様です( book_type_is_allowed())を参照 =)。
単一のDrupal変数を使用して、モジュールで使用されるさまざまな設定を配列に含めることができます。形式は#tree
属性を使用しても、追加のコードを記述せずに配列をDrupal変数に保存するために system_settings_form() を使用できます。コードのシリアル化解除は、自動的にシリアル化されますDrupal変数を処理するコア関数Drupal変数によって実行されます( variable_set() のコードを参照)。
質問は次のとおりです。単一のDrupal変数を使用して異なる設定を含める場合?関数または関数のグループで使用される設定に単一の変数を使用します。配列には(たとえば)10個の異なる関数で使用される値が含まれていますが、それらの関数はその配列から単一の値(またはいくつかの値)にアクセスするため、設定に単一の永続変数を使用しません。
一連の設定が関連している場合、それらを配列に配置することは理にかなっています。たとえば、several variable_get
の連続。それはあなたにいくつかの柔軟性を与えるだけでなく、潜在的に少し速くなります。
ただし、これにより、他のプログラムがdrush vsetやstrongarmなどを使用して手動で設定を編集することが難しくなります。このような場合、長い変数名が実際に役立ちます。