Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Drupal8 State API と Configuration API
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
kazukomurata
January 26, 2017
Programming
290
0
Share
Drupal8 State API と Configuration API
Drupal8のVariables~State API と Configuration API ~
kazukomurata
January 26, 2017
More Decks by kazukomurata
See All by kazukomurata
長期運用のためのDrupal開発入門
kazukomurata
0
64
Migrate Drupal7 to Drpual8
kazukomurata
0
290
Drupal8 Migrate API
kazukomurata
0
360
Drupal8 Problem of multilingualization of contents
kazukomurata
0
150
Drupalのデモサイト作って明日までに!と言われたら
kazukomurata
0
870
Drupal8 CKEditor TIps
kazukomurata
0
450
Drupal7 & 8 翻訳コンテンツの罠
kazukomurata
0
280
Drupal7×Cloudfront×SSL
kazukomurata
0
280
Drupal8 2016/11
kazukomurata
0
81
Other Decks in Programming
See All in Programming
第3木曜LT会 #28
tinykitten
PRO
0
110
[RubyKaigi 2026] Require Hooks
palkan
1
200
mruby on C#: From VM Implementation to Game Scripting (RubyKaigi 2026)
hadashia
2
520
検索設計から 推論設計への重心移動と Recall-First Retrieval
po3rin
0
120
ソフトウェア設計の結合バランス #phperkaigi
kajitack
0
130
Programming with a DJ Controller — not vibe coding
m_seki
3
100
Kingdom of the Machine
yui_knk
2
340
ローカルで稼働するAI エージェントを超えて / beyond-local-ai-agents
gawa
3
280
AIエージェントで業務改善してみた
taku271
0
530
YJITとZJITにはイカなる違いがあるのか?
nakiym
0
220
Xdebug と IDE による デバッグ実行の仕組みを見る / Exploring-How-Debugging-Works-with-Xdebug-and-an-IDE
shin1x1
0
380
「Linuxサーバー構築標準教科書」を読んでみた #ツナギメオフライン.7
akase244
0
1.4k
Featured
See All Featured
The Pragmatic Product Professional
lauravandoore
37
7.2k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
110
Marketing to machines
jonoalderson
1
5.2k
Balancing Empowerment & Direction
lara
6
1.1k
Everyday Curiosity
cassininazir
0
200
Making Projects Easy
brettharned
120
6.6k
Become a Pro
speakerdeck
PRO
31
5.9k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.6k
Crafting Experiences
bethany
1
110
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
330
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Transcript
Drupal8ͷVariables ~State API ͱ Configuration API ~ MURATA Kazuko
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!! ͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ