Как установить переменную в конфигурационном файле setting.php и использовать ее из кода?
Как установить переменную в конфигурационном файле 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
:
<?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');