Drupal8のVariables~State API と Configuration API ~
Drupal8ͷVariables~State API ͱ Configuration API ~MURATA Kazuko
View Slide
Variables ͱDrupalͷઃఆkeyͱvalueͰఆٛ͞ΕΔVariablesʹू͞Ε͍ͯΔɻ
Drupal8ͰVariables ແ͍ɾɾɾʂDrupal8ͰҎԼͷ2ͭʹ͠·ͨ͠ɻɾঢ়ଶΛอ࣋͢ΔStateɾઃఆΛอ࣋͢ΔConfiguration
State API؆қతʹอ࣋͢ΔState APIΛར༻͢ΔɻɾCSS,JSѹॖϑΝΠϧύεʹͭ͘จࣈྻ→/sites/default/files/css/css_lqq6XNouNM84HMTnOnigWo9qb1k.css?ok2ccvɾCron࣮ߦͷ࠷ऴ࣌ɾΠϯετʔϧ࣌
Configuration APIΞϓϦέʔγϣϯͱͯ͠ఆ͍ٛͨ͠ͷͯ͢Configuration APIΛར༻͢Δɻɾ͋Γͱ͋ΒΏΔઃఆɾCIMͰग़ྗ͞ΕΔͷͰڥݻ༗ͷidΛอଘ͢Δͱ௧͍͋͏ɻ
෮श : D7ͷVariables// Set.variable_set('key', value);// Get.variable_get('key', σϑΥϧτ);// Delete.variable_del(‘key');
State API ίʔυྫ// Set.\Drupal::state()->set('key', value);※keyϞδϡʔϧ໊ͱkey໊শΛ ʮ.ʯͰͭͳ͛ͯࢦఆ͢Δ(ex. system.css_js_query_string)// Get.\Drupal::state()->get('key');// Delete.\Drupal::state()->delete(‘key');Service ͰDI͢Δͱ͖ʮStateInterfaceʯͰड͚ࢭΊΔͷ͕ਖ਼ղ(ͨͿΜ)
Configuration API ίʔυྫ// Set.$config = \Drupal::service(‘config.factory')->getEditable('system.performance');$config->set('cache.page.enabled', 1);// Get.$config = \Drupal::config('system.maintenance');$message = $config->get('message');// Delete.\Drupal::service(‘config.factory’)->getEditable('key')->delete();
Configuration API ิɾઃఆͷొը໘ConfigFormBaseΛܧঝָͯ͠͠·͠ΐ͏ɻྫ : core/modules/system/src/Form/SiteInformationForm.phpɾServiceར༻ͷ࣌ɺState APIಉ༷ɺConfigFactoryInterfaceͰड͚ࢭΊͭͭɺconstractͷதͰɺඞཁͳΛget͠ͱ͘ͷ͕҆શ͔ɻpublic function __construct(ConfigFactoryInterface $config {$this->config = $config->get('key');}
Thank you!!͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ