Slide 1

Slide 1 text

Drupal8ͷVariables ~State API ͱ Configuration API ~ MURATA Kazuko

Slide 2

Slide 2 text

Variables ͱ͸ Drupalͷઃఆ͸keyͱvalueͰఆٛ͞ΕΔ Variablesʹू໿͞Ε͍ͯΔɻ

Slide 3

Slide 3 text

Drupal8ͰVariables ͸ແ͍ɾɾɾʂ Drupal8ͰҎԼͷ2ͭʹ෼཭͠·ͨ͠ɻ ɾঢ়ଶΛอ࣋͢ΔState ɾઃఆΛอ࣋͢ΔConfiguration

Slide 4

Slide 4 text

State API ؆қతʹอ࣋͢Δ஋͸State APIΛར༻͢Δɻ ɾCSS,JSѹॖϑΝΠϧύεʹͭ͘จࣈྻ →/sites/default/files/css/css_lqq6XNouNM84HMTnOnigWo9qb1k.css?ok2ccv ɾCron࣮ߦͷ࠷ऴ೔࣌ ɾΠϯετʔϧ೔࣌

Slide 5

Slide 5 text

Configuration API ΞϓϦέʔγϣϯͱͯ͠ఆ͍ٛͨ͠΋ͷ͢΂ ͯ͸Configuration APIΛར༻͢Δɻ ɾ͋Γͱ͋ΒΏΔઃఆ஋ ɾCIMͰग़ྗ͞ΕΔͷͰ؀ڥݻ༗ͷid஋Λอ ଘ͢Δͱ௧͍໨͋͏ɻ

Slide 6

Slide 6 text

෮श : D7ͷVariables // Set. variable_set('key', value); // Get. variable_get('key', σϑΥϧτ஋); // Delete. variable_del(‘key');

Slide 7

Slide 7 text

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ʯͰड͚ࢭΊΔͷ͕ਖ਼ղ(ͨͿΜ)

Slide 8

Slide 8 text

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();

Slide 9

Slide 9 text

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'); }

Slide 10

Slide 10 text

Thank you!! ͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ