Bagaimana cara menetapkan variabel di file konfigurasi setting.php dan menggunakannya dari kode?

21

Bagaimana cara menetapkan variabel di file konfigurasi setting.php dan menggunakannya dari kode?

David
sumber

Jawaban:

27

di settings.php:

$conf['yoursite_something'] = 5;

Kemudian, dalam kode Anda:

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

Pastikan untuk awalan variabel, baik dengan modul yang Anda gunakan dalam atau dengan nama situs.

Berdir
sumber
5

Perhatikan bahwa tidak diperlukan untuk mendeklarasikan variabel persisten di settings.php. Anda cukup memanggil variabel_get () dari kode Anda dan menentukan nilai default jika variabel tidak disetel. Misalnya, kode berikut akan menyapa setiap permintaan halaman selama variabel 'mymodule_say_hello' tidak diatur secara eksplisit ke 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');
  }
}
?>

Jika perlu, modul Anda dapat menerbitkan formulir yang memungkinkan admin untuk mengaktifkan fitur ini ( fungsi system_settings_form membuatnya sangat mudah) atau Anda dapat mengubah pengaturan secara terprogram dengan menelepon variable_set('mymodule_say_hello', 0).

marcvangend
sumber
1

Drupal 8

Di settings.php Anda:

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

Dalam kode Anda:

use Drupal\Core\Site\Settings;

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