Конфигурация Flashcards
Каким образом можно перенести настройки с одной версии сайта на другую?
drush cex – чтобы экспортировать конфигурацию в файлы
drush cim – чтобы импортировать конфигурацию из файлов в БД
либо через админку: admin/config/development/configuration
Какие типы конфигураций бывают? В чём разница между ними?
a. Simple config
b. Config entity
simple configuration – простая текстовая информация(например название сайта)
configuration entities – структурированная информация(например типы материалов). Т.е. по сути эта конфигурация определяет структуру типа сущности и методы для работы с ним.
Что такое стейты (state)? В чём отличие стейтов от конфигураций?
a. Чем они отличаются от Drupal::keyValue - ?
Стейты - базовые настройки сайта (те же конфигурации), которые не переносятся между инстансами. \Drupal::state()
Каким образом можно программно получить или изменить конфигурацию?
a. В общем случае?
b. Конфигурацию поля?
Получить:
$original = \Drupal::configFactory()->getEditable(‘system.site’)->getOriginal(‘name’, FALSE);
……………………………
$config = \Drupal::config(‘system.site’);
$front = $config->get(‘page.front’);
Изменить:
$config->set();
………………………………….
$config_factory = \Drupal::configFactory();
$config = $config_factory->getEditable(‘example.configuration’);
$config->set(‘fruit’, [‘apple’, ‘banana’, ‘mango’]);
$config->save(TRUE);
Каким образом можно создать свой конфиг?
Создать плагин, наследующися от ConfigEntityBase