¿Cómo configuro una variable en el archivo de configuración setting.php y la uso desde el código?

21

¿Cómo configuro una variable en el archivo de configuración setting.php y la uso desde el código?

David
fuente

Respuestas:

27

en settings.php:

$conf['yoursite_something'] = 5;

Luego, en tu código:

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

Asegúrese de prefijar las variables, ya sea con el módulo en el que lo está utilizando o con el nombre del sitio.

Berdir
fuente
5

Tenga en cuenta que no es necesario declarar variables persistentes en settings.php. Simplemente puede llamar a variable_get () desde su código y definir un valor predeterminado en caso de que la variable no esté configurada. Por ejemplo, el siguiente código dirá hola en cada solicitud de página siempre que la variable 'mymodule_say_hello' no esté establecida explícitamente en 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');
  }
}
?>

Si es necesario, su módulo podría publicar un formulario que le permita al administrador desactivar esta función (la función system_settings_form lo hace realmente fácil) o puede cambiar la configuración mediante programación llamando variable_set('mymodule_say_hello', 0).

marcvangend
fuente
1

Drupal 8

En tu settings.php:

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

En su código:

use Drupal\Core\Site\Settings;

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