Como defino uma variável no arquivo de configuração setting.php e a uso no código?

21

Como defino uma variável no arquivo de configuração setting.php e a uso no código?

David
fonte

Respostas:

27

em settings.php:

$conf['yoursite_something'] = 5;

Então, no seu código:

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

Certifique-se de prefixar as variáveis, com o módulo em que você está usando ou com o nome do site.

Berdir
fonte
5

Observe que não é necessário declarar variáveis ​​persistentes em settings.php. Você pode simplesmente chamar variable_get () a partir do seu código e definir um valor padrão, caso a variável não esteja definida. Por exemplo, o código a seguir dirá olá em todas as solicitações de página, desde que a variável 'mymodule_say_hello' não esteja explicitamente configurada para 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');
  }
}
?>

Se necessário, seu módulo pode publicar um formulário que permita ao administrador desativar esse recurso (a função system_settings_form torna isso muito fácil) ou você pode alterar as configurações programaticamente chamando variable_set('mymodule_say_hello', 0).

Marcvangend
fonte
1

Drupal 8

Em seu settings.php:

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

No seu código:

use Drupal\Core\Site\Settings;

Settings::get('foo', 'mydefaultvalue');
leymannx
fonte