設定ファイルsetting.phpに変数を設定してコードから使用するにはどうすればよいですか?
settings.php:
$conf['yoursite_something'] = 5;
次に、コードで:
// Second argument is the default.
variable_get('yoursite_something', NULL);
変数の前に、使用するモジュールまたはサイト名を必ず付けてください。
Settings.phpで永続変数を宣言する必要がないことに注意してください。コードからvariable_get()を呼び出すだけで、変数が設定されていない場合のデフォルト値を定義できます。たとえば、次のコードでは、 'mymodule_say_hello'変数が明示的に_0
_に設定されていない限り、すべてのページリクエストでhelloと表示されます。
_<?php
function mymodule_init() {
// Get the mymodule_say_hello variable or use 1 if it's not set.
if (variable_get('mymodule_say_hello', 1)) {
drupal_set_message('Hello world');
}
}
?>
_
必要に応じて、モジュールで管理者がこの機能を無効にできるフォームを公開するか( system_settings_form 関数で簡単にできます)、またはvariable_set('mymodule_say_hello', 0)
を呼び出してプログラムで設定を変更できます。
あなたのsettings.phpで:
$settings['foo'] = 'bar';
あなたのコードで:
use Drupal\Core\Site\Settings;
Settings::get('foo', 'mydefaultvalue');