Аналог variable_set в Drupal 9

Опубликовано 2023.02.17

Функция variable_set() использовалась в Drupal 7 для установки или обновления постоянной переменной. В Drupal 8 и 9 эта функция была удалена и заменена API конфигурации.

Чтобы установить или обновить постоянную переменную в Drupal 9, вы можете использовать функцию config() для доступа к системе конфигурации. Вот пример того, как использовать API конфигурации для установки постоянной переменной:

  1. \Drupal::configFactory()->getEditable('mymodule.settings')
  2. ->set('myvariable', 'myvalue')
  3. ->save();

В этом коде мы используем метод configFactory() для получения экземпляра фабрики конфигурации, а затем используем метод getEditable() для получения редактируемого объекта конфигурации для конфигурации mymodule.settings. Затем мы используем метод set(), чтобы установить значение ключа myvariable в myvalue, и вызываем метод save() для сохранения обновленной конфигурации.

Затем вы можете получить значение переменной с помощью функции config(), например:

  1. $myvariable = \Drupal::config('mymodule.settings')->get('myvariable');

Этот код извлекает значение myvariable из конфигурации mymodule.settings. Обратите внимание, что здесь используется функция config(), а не метод configFactory(), потому что мы хотим только прочитать конфигурацию, а не изменять ее.