如何在配置文件setting.php中设置变量并从代码中使用它?


21

如何在配置文件setting.php中设置变量并从代码中使用它?

Answers:


27

在settings.php中:

$conf['yoursite_something'] = 5;

然后,在您的代码中:

// Second argument is the default.
variable_get('yoursite_something', NULL);

确保在变量之前加上您正在使用的模块或站点名称。


5

请注意,不需要在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)


1

Drupal 8

在您的settings.php中:

$settings['foo'] = 'bar';

在您的代码中:

use Drupal\Core\Site\Settings;

Settings::get('foo', 'mydefaultvalue');
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.