Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Drupal モジュール開発入門講座 第1回 モジュールの基礎知識
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
アクイアジャパン Acquia Japan
July 27, 2022
Programming
190
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Drupal モジュール開発入門講座 第1回 モジュールの基礎知識
https://www.acquia.com/jp/events/webinars/drupal-module-development-vol1
アクイアジャパン Acquia Japan
July 27, 2022
More Decks by アクイアジャパン Acquia Japan
See All by アクイアジャパン Acquia Japan
Auth0 by OktaとDrupalで実践!認証付きアプリケーションの新しいアプローチ
acquiajp
0
240
Drupal 10.3の新機能紹介ウェビナー
acquiajp
0
290
DrupalCon Portland 2024 総まとめウェビナー
acquiajp
0
140
開発者必見!Acquia Cloud IDEで最高のDrupal開発を始めよう
acquiajp
0
250
触って学ぶ!デジタルアセット管理 Acquia DAM ハンズオンウェビナー
acquiajp
0
61
DrupalCon Lille 2023 総まとめウェビナー
acquiajp
0
120
コンテンツ設計手法で変更に強いアプリケーションを実現する〜ローコードによるWebアプリのバックエンド実装 #CNDF2023
acquiajp
0
410
DrupalCon Pittsburgh 2023 総まとめウェビナー
acquiajp
0
110
Acquia製品概要&Site Studioデモのご紹介
acquiajp
0
150
Other Decks in Programming
See All in Programming
Starting & Sustaining Code-Based E2E Testing for Non-Coding QA Teams( #jasstniigata )
teyamagu
PRO
1
910
Workers Cache を知る
syumai
0
330
Agents on Rails - Rails at Scale 2026
irinanazarova
0
330
mrbgem 三角測量 開発
ogom
0
200
CodeRabbitの効果検証と過ごしてみた3ヶ月
armondando
0
140
設計次第でAIコードの読む量は減らせる / designing-for-code-reading
minodriven
34
15k
速く作れる。その次は、速く確かめられる開発へ 〜AIネイティブ開発を支える、Shift Down〜 / Can build fast. Next, moving to development where we can verify fast.
rkaga
8
5.5k
JAWS-UG 東京支部が始める、JAWS-UG支部コラボ / JAWS-UG lunchtime LT Collaboration
y0hgi
0
180
JRuby: Past, Present, and Future
headius
0
220
Atomic Design, Enforced: Scaling Mobile Design Systems (next.app devCon / droidCon Berlin 2026)
steliosf
PRO
0
120
テストを司るデーモンに会いに行く 〜隔離した仮想マシンでテストを通すまで〜
h1d3mun3
1
620
プロダクトコードからライブラリの境界を見つける
elmetal
PRO
0
100
Featured
See All Featured
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.8k
Context Engineering - Making Every Token Count
addyosmani
9
1.2k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.4k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
300
AI Search: Where Are We & What Can We Do About It?
aleyda
0
8k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
1.1k
30 Presentation Tips
portentint
PRO
1
420
Odyssey Design
rkendrick25
PRO
2
860
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
910
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
The Curse of the Amulet
leimatthew05
3
15k
Transcript
Drupal Ϟδϡʔϧ ։ൃೖߨ࠲ ୈ1ճ Ϟδϡʔϧͷجૅࣝ
Drupal Ϟδϡʔϧ։ൃೖߨ࠲γϦʔζ – DrupalͰʮϞδϡʔϧʯͱݺΕΔɺখ͞ͳιϑτΣΞΛ࣮͢Δ͜ͱͰػೳ֦ுΛ ߦ͍·͢ɻຊΣϏφʔγϦʔζͰɺDrupalͷϞδϡʔϧ։ൃʹؔ͢ΔجૅࣝΛղઆ͠ ·͢ɻ – DrupalͷόοΫΤϯυपΓʹ͍ͭͯମܥతʹֶͼ͍ͨํɺࣗͰΧελϜϞδϡʔϧΛ࡞ ΕΔΑ͏ʹͳΓ͍ͨํɺΞΫΠΞೝఆσϕϩούʔࢼݧΛࢦ͢ํʹ͓͢͢ΊͰ͢ɻ –
DrupalΛҰ௨Γૢ࡞ͨ͜͠ͱ͕͋ΔํΛରͱ͍ͯ͠·͢ɻ·ͩDrupalΛ৮ͬͨ͜ͱ͕ແ ͍ํɺॳ৺ऀ͚DrupalνϡʔτϦΞϧಈըʢຊޠʣΛઌʹݟ͓ͯ͘ͱΑΓཧղ͕ਂ ·Γ·͢ɻ
ΞδΣϯμ 1. Ϟδϡʔϧͱ 2. Ϟδϡʔϧ։ൃͷલఏࣝ 3. Ϟδϡʔϧͷछྨ 4. Ϟδϡʔϧͷཧ 5.
ϞδϡʔϧͷσΟϨΫτϦߏͱϑΝΠϧ 6. Drupalڥͷ༻ҙ 7. ࿅श
Ϟδϡʔϧͱ
– DrupalΛ֦ு͢ΔͨΊͷίʔυͰ͢ɻطଘͷػೳΛมߋͨ͠Γɺ৽͍͠ػೳ ΛՃͨ͠ΓͰ͖·͢ɻ – ओʹPHPϑΝΠϧɺYAMLϑΝΠϧɺ߹ʹΑͬͯCSSɺJSɺTwigϑΝΠϧ ͳͲͰߏ͞Ε·͢ɻ – Drupal.orgͰίϯτϦϏϡʔλʔʹΑͬͯ4ສݸҎ্ͷϞδϡʔϧ͕ެ։͞ Ε͓ͯΓɺࣗ༝ʹμϯϩʔυͯ͠ར༻Ͱ͖·͢ɻ –
ϞδϡʔϧʹΑͬͯཧUIͰઃఆݖݶΛ੍ޚ͢Δ͜ͱ͕ՄೳͰ͢ɻ Ϟδϡʔϧͷ֓ཁ
Ϟδϡʔϧ։ൃʹؔ࿈͢Δࣝ – DrupalͷαΠτߏஙʹؔ͢Δجૅతͳࣝ – PHPͷࣝ – ΦϒδΣΫτࢦϓϩάϥϛϯάͷࣝ – SymfonyϑϨʔϜϫʔΫͷࣝ
Ϟδϡʔϧ։ൃͷલఏࣝ
DrupalͱSymfony – 2007ʹొͨ͠ɺPHPͰهड़͞ΕͨWebΞϓϦέʔγϣϯ ϑϨʔϜϫʔΫͰ͢ɻ – Drupal 9ͰSymfony 4ܥ͕༻͞Ε͍ͯ·͢ɻ – SymfonyϑϨʔϜϫʔΫͰ͋Γɺ࠶ར༻ՄೳͳPHPίϯ
ϙʔωϯτϥΠϒϥϦͷηοτͰ͢ɻ
Symfonyͷίϯϙʔωϯτ – ػೳΛWebΞϓϦέʔγϣϯϑϨʔϜϫʔΫ͔ΒΓ࣮ͯ͠͞ΕͨPHPϥ ΠϒϥϦͰ͢ɻίϯϙʔωϯτComposerʹΑͬͯΠϯετʔϧՄೳͰ͢ɻ – ελϯυΞϩϯϥΠϒϥϦͳͷͰɺҙͷPHPΞϓϦέʔγϣϯͰ༻Ͱ͖ ·͢ɻ – Drupalόʔδϣϯ8Ҏ߱ɺ͍͔ͭ͘ͷίϯϙʔωϯτΛར༻͍ͯ͠·͢ɻ –
SymfonyҰൠతͳWebΞϓϦέʔγϣϯ։ൃʹඞཁͳπʔϧػೳΛ༗ͯ͠ ͍ΔͨΊɺंྠͷ࠶։ൃΛࢭͨ͠ΓɺDrupalͰ͔͠Ͱ͖ͳ͍ՁΛ։ൃ͢ Δ࣌ؒʹॆͯΔ͜ͱ͕ՄೳʹͳΓ·ͨ͠ɻ
DrupalͰར༻͍ͯ͠ΔSymfonyίϯϙʔωϯτ – Yaml – HttpFoundation – HttpKernel – Translation –
EventDispatcher – Console – DependencyInjection – Polyfill Iconv – Polyfill PHP 8.0 – Process – Routing – Mime – Validator – Serializer
Ξϊςʔγϣϯ – ΞϊςʔγϣϯͱɺϝλσʔλΛද͢ಛ ผͳߏจͰ͢ɻ – PHPͷDocίϝϯτ( /** */ )ʹ@͔Β࢝·Δ ΩʔϫʔυͰࢦఆ͠·͢ɻ
– ΞϊςʔγϣϯDoctrine annotation parser ʹΑͬͯಡΈࠐ·ΕɺDrupal͕ίʔυͷ ༰Λཧղ͢ΔͨΊͷใʹม͞Ε·͢ɻ
ϓϥάΠϯ – ϓϥάΠϯখ͞ͳػೳΛఏڙ͠ɺଞͷϓϥάΠϯͱ؆୯ʹަͰ͖ΔΑ ͏ʹ͠·͢ɻ – ϒϩοΫɺϑΟʔϧυΟδΣοτɺը૾ΤϑΣΫτͳͲͷ͞·͟·ͳγ εςϜΛ֦ு͠ɺཧऀ͕બՄೳͳ৽͍͠ΦϓγϣϯΛՃ͢Δϓϥά ΠϯΛ࡞͠·͢ɻ – ࣅͨΑ͏ͳػೳΛ࣋ͭϓϥάΠϯɺಉ͡ϓϥάΠϯλΠϓʹଐ͠·͢ɻ
– ϓϥάΠϯϞδϡʔϧʹΑͬͯఆٛ͞Ε·͢ɻ
αʔϏεͱαʔϏείϯςφ – αʔϏείϯςφͱɺґଘੑೖ(DI)ͱݺΕΔσβΠϯύλʔ ϯΛ࣮ͨ͠ϑϨʔϜϫʔΫͰ͢ɻDIίϯςφͱݺΕ·͢ɻ – αʔϏεͱɺαʔϏείϯςφʹΑͬͯཧ͞ΕΔΦϒδΣΫ τΛࢦ͠·͢ɻ – DrupalίΞʹ400Ҏ্ͷαʔϏε͕ଘࡏ͠·͢ɻ –
ओͳαʔϏεɿDatabase, Plugin Manager, Logger, Translation, Current User
DrupalͷίʔσΟϯάن ίʔσΟϯάنͱ – ίʔυͷॻ͖ํܗࣜͳͲɺ͞·͟·ͳܾ·ΓࣄΛఏࣔ͢ΔϓϩάϥϚ͚ͷҰ࿈ͷϧʔϧͰ͢ɻมؔ ͳͲͷ໋໊نଇɺېࢭࣄ߲ɺΠϯσϯτɺεϖʔεɺׅހԋࢉࢠͳͲͷه߸ͷஔͷํͳͲΛఆٛ͠·͢ɻ – ίʔυͷදه๏ΛίʔσΟϯάنͱͯ͠౷Ұ͓ͯ͘͠ͱɺՄಡੑอकੑ͕ߴ·Γɺ։ൃޮ্͕͠·͢ɻ – ओͳݺͼํɿCode StandardsɺCoding
StandardsɺίʔυنɺίʔσΟϯάϧʔϧɾɾ DrupalͷίʔσΟϯάن – PEARίʔσΟϯάن͕ϕʔεͱͳ͍ͬͯ·͢ɻ – DrupalͷίʔσΟϯάنίΞόʔδϣϯؔͳ͘ɺৗʹ࠷৽ͷίʔυنʹै͏ඞཁ͕͋Γ·͢ɻ – PHPStormVS CodeͰࣗಈతʹݕग़/ܗ͢Δศརͳπʔϧ͕ఏڙ͞Ε͍ͯ·͢ɻ
DrupalίʔσΟϯάنͷҰྫ – Πϯσϯτͱۭന – λϒͳ͠Ͱɺ2ͭͷεϖʔεͷΠϯσϯτΛ༻ – ߦͷ࠷ޙʹۭനΛೖΕͳ͍ – ߦͷ͞ –
80จࣈ͕҆ – ԋࢉࢠ – ԋࢉࢠʢ=, -, +, *, =>, . ͳͲʣৗʹ1ͭͷεϖʔεΛ͚ͭΔ – …etc https://www.drupal.org/docs/develop/standards/coding-standards
Ϟδϡʔϧͷछྨ
– ίΞϞδϡʔϧ – DrupalͷίΞʹؚ·ΕΔϞδϡʔϧͰ͢ɻ – ίϯτϦϏϡʔτϞδϡʔϧ – Drupal.orgͰެ։͞Ε͍ͯΔϞδϡʔϧͰ͢ɻ –
https://www.drupal.org/project/project_module – ΧελϜϞδϡʔϧ – ϓϩδΣΫτͷͨΊʹಠࣗͰ։ൃ͢ΔϞδϡʔϧͰ͢ɻ Ϟδϡʔϧͷछྨ
Ϟδϡʔϧͷछྨ - ίΞϞδϡʔϧ – Node – ίϯςϯπͷ࡞ɺฤूɺআɺઃఆɺදࣔΛཧ͠·͢ɻ – Block –
ϖʔδΛߏ͢ΔϒϩοΫͷஔΛ੍ޚ͢ΔϞδϡʔϧͰ͢ɻ – Views – σʔλϕʔε͔ΒΧελϚΠζ͞ΕͨΫΤϦͱϦετΛੜ͠·͢ɻ – Media – ը૾ɺಈըͳͲͷϝσΟΞΞΠςϜͷ࡞ɺઃఆɺදࣔΛཧ͠·͢ɻ – Language – DrupalͷݴޠػೳΛѻ͏ͨΊͷجຊϞδϡʔϧͰ͢ɻϢʔβʔ͕ݴޠΛઃఆͯ͠ίϯςϯπʹద༻͢Δ͜ͱ͕Ͱ͖ ·͢ɻ – Workflows – Drupalͷίϯςϯπͷʮະެ։ʯʮެ։ࡁΈʯͷঢ়ଶΛ֦ு͠ɺίϯςϯπʹϞσϨʔγϣϯঢ়ଶΛఏڙ͠·͢ɻ – etc…
Ϟδϡʔϧͷछྨ - ίϯτϦϏϡʔτϞδϡʔϧ – ΦʔϓϯιʔεͰެ։͞ΕͨϞδϡʔϧͰ͢ɻ – Drupal.orgͰެ։͞Ε͍ͯΔϞδϡʔϧͷμϯϩʔυʹComposer Λ༻͍·͢ɻ – ίϯτϦϏϡʔτϞδϡʔϧʹΑͬͯAPI͕ఏڙ͞ΕɺΧελϜϞ
δϡʔϧଆͰAPIΛར༻͠ͳ͕ΒΧελϚΠζͰ͖·͢ɻ
Ϟδϡʔϧͷछྨ - ΧελϜϞδϡʔϧ – ϓϩδΣΫτݻ༗Ͱ༻ҙ͢ΔϞδϡʔϧΛΧελϜϞδϡʔϧͱݺ ͼ·͢ɻ – ίΞϞδϡʔϧɺίϯτϦϏϡʔτϞδϡʔϧͰΓͳ͍ػೳ͕ ͋ͬͨࡍʹɺΧελϜϞδϡʔϧΛ࣮͢Δ͜ͱͰରԠͰ͖·͢ɻ
Ϟδϡʔϧͷཧ
Ϟδϡʔϧͷμϯϩʔυ – ϞδϡʔϧͷμϯϩʔυComposerίϚϯυ Ͱߦ͑·͢ɻ – $ composer require 'drupal/token:^1.10'
– ཧը໘Ͱߦ͏ɿ – ཧϝχϡʔ > ػೳ֦ு ʹҠಈͯ͠ɺϞ δϡʔϧϦετͷத͔ΒରͷϞδϡʔ ϧͷνΣοΫϘοΫεΛ༗ޮʹ͢Δ
– DrushͰߦ͏ɿ – $ drush pm:enable token ϞδϡʔϧͷΠϯετʔϧ
ϞδϡʔϧʹΑͬͯɺ࣍ͷ߲͕༻ҙ͞Ε͍ͯΔ߹͕͋Γ·͢ɻ – HelpɿϞδϡʔϧͷϔϧϓϖʔδʹΞΫηεͰ͖·͢ɻ – PermissionsɿϞδϡʔϧͰݖݶ͕༻ҙ͞Ε͍ͯΔ߹ɺݖݶઃఆͷϖʔδʹΞΫηεͰ͖·͢ɻ – ConfigureɿϞδϡʔϧͰڥઃఆϖʔδʹϦϯΫΛ༻ҙ͍ͯ͠Δ߹ɺઃఆϖʔδʹΞΫηεͰ ͖·͢ɻ Πϯετʔϧͨ͠Ϟδϡʔϧͷ͍ํઃఆͷΞΫηε
Ϟδϡʔϧͷ σΟϨΫτϦߏͱϑΝΠϧ
Ϟδϡʔϧͷॴ your Drupal project root ᵓ── docroot │ ᵓ── core
│ │ └── modules │ │ ᵓ── action │ │ ᵓ── aggregator │ │ ᵓ── … │ │ │ └── modules │ │ ᵓ── contrib │ │ └── custom … ɹɹɹɹɹ–––––––– ίΞϞδϡʔϧ͕ஔ͞ΕΔ ɹɹɹɹɹ–––––––– ίϯτϦϏϡʔτϞδϡʔϧ͕ஔ͞ΕΔ ɹɹɹɹɹ–––––––– ΧελϜϞδϡʔϧ͕ஔ͞ΕΔ ίΞϞδϡʔϧɺίϯτϦϏϡʔτϞδϡʔϧɺΧελϜϞδϡʔϧͰ ϞδϡʔϧϑΝΠϧ܈Λஔ͢Δॴ͕ܾ·͍ͬͯ·͢ɻ
ϞδϡʔϧͷσΟϨΫτϦߏʢҰྫʣ marucha ᵓ── config/ ᵓ── css/ ᵓ── js/ ᵓ── templates/
ᵓ── src │ └── Controller │ └── HelloController.php ᵓ── tests/ ᵓ── marucha.info.yml ᵓ── marucha.module ᵓ── marucha.routing.yml ᵓ── marucha.services.yml … ϑΝΠϧͷΦʔτϩʔυͷͨΊ ʹɺσΟϨΫτϦߏʹϧʔϧ͕ ଘࡏ͢Δ
PSR-4ʹΑΔ໊લۭؒͱΦʔτϩʔυ – PSR-4ͱɺϑΝΠϧύε͔ΒΫϥεΛΦʔτϩʔσΟϯά͢ΔͨΊͷ༷Ͱ͢ɻ – DrupalͰόʔδϣϯ8Ҏ߱ɺPSR-4͕࣮͞Ε͍ͯ·͢ɻ – PSR-4͕࣮͞Ε͍ͯΔ͜ͱʹΑΓɺ໊લۭؒΛࢦఆ͢Δ͜ͱͰϑΝΠϧʢΫϥ εʣ໊Λࣗಈతʹղܾͯ͘͠Ε·͢ɻ
σΟϨΫτϦߏͱ໊લۭؒͷϚοϐϯά
σΟϨΫτϦߏͱ໊લۭؒͷϚοϐϯά ᶃ ֤ϞδϡʔϧʹϞδϡʔϧ໊(Ϛγ ϯ໊)ʹରԠ͢Δ໊લۭ͕ؒ͋ΓɺϞ δϡʔϧσΟϨΫτϦͷ./src/ϑΥϧμ ʹϚοϓ͞Ε·͢ɻ
σΟϨΫτϦߏͱ໊લۭؒͷϚοϐϯά ᶄϞδϡʔϧ໊લۭؒͷޙ͢ ͯ./src/ϑΥϧμͷσΟϨΫτϦ ͱϑΝΠϧߏʹϚοϓ͞Ε ·͢ɻ ᶃ ֤ϞδϡʔϧʹϞδϡʔϧ໊(Ϛγ ϯ໊)ʹରԠ͢Δ໊લۭ͕ؒ͋ΓɺϞ δϡʔϧσΟϨΫτϦͷ./src/ϑΥϧμ ʹϚοϓ͞Ε·͢ɻ
ϞδϡʔϧͷϚγϯ໊ – ϞδϡʔϧʹඞͣʮϚγϯ໊ʯ͕ଘࡏ͠·͢ɻ – DrupalίΞʹΑͬͯϓϩάϥϜͰϞδϡʔϧΛࢀর͢ΔͨΊʹ ෦తʹ༻͞Ε·͢ɻ – ӈͷྫͰʮmaruchaʯ͕Ϛγϯ໊Ͱ͢ɻ – marucha.info.ymlͳͲɺϑΝΠϧ໊ʹϚγϯؚ໊͕·ΕΔΑ͏ͳ
໋໊نଇΛ࣋ͭϑΝΠϧ͕ଘࡏ͠·͢ɻ – Ϛγϯ໊ͷ໋໊نଇ – จࣈͰ࢝·Δඞཁ͕͋Γ·͢ɻ – খจࣈͱΞϯμʔείΞͷΈΛؚΊΔඞཁ͕͋Γ·͢ɻ – εϖʔεΛؚΊΔ͜ͱͰ͖·ͤΜɻ – 50จࣈΛ͑ͯͳΓ·ͤΜɻ – γεςϜͰҰҙͰ͋Δඞཁ͕͋Γ·͢ɻαΠτͰ༻͢ΔଞͷϞδϡʔϧɺ ςʔϚɺςʔϚΤϯδϯɺΠϯετʔϧϓϩϑΝΠϧͱಉ໊͡લΛ͚ͳ͍Ͱ͘ ͍ͩ͞ɻ – ༧ࡁΈͷ༻ޠ༻Ͱ͖·ͤΜɿsrcɺlibɺvendorɺassetsɺcssɺfilesɺ imagesɺjsɺmiscɺtemplatesɺincludesɺfixturesɺdrupal marucha ᵓ── config │ └── install │ └── marucha.settings.yml ᵓ── css/ ᵓ── js/ ᵓ── templates/ ᵓ── src │ └── Controller │ └── HelloController.php ᵓ── tests/ ᵓ── marucha.info.yml ᵓ── marucha.module ᵓ── marucha.routing.yml ᵓ── marucha.services.yml …
Drupalڥͷ༻ҙ
Drupalڥͷ༻ҙ – Drupal 9ͷֶशڥΛ༻ҙ – ༗໊ͳDrupalͷϩʔΧϧ։ൃڥߏஙπʔϧ – Lando – Docksal
– DDEV – Drupal VM – ࠓճྫͱͯ͠ɺLandoͰDrupal 9ڥΛߏங͢ΔखॱΛհ
LandoΛ༻͍ͨDrupalͷϩʔΧϧ։ൃڥͷ࡞ ͦͷ1. DrupalϓϩδΣΫτ࡞ʙίϯςφͷىಈ # ࡞ۀσΟϨΫτϦͷ࡞ͱҠಈ $ mkdir my-drupal9-app && cd
my-drupal9-app # LandoͷॳظԽ $ lando init --source cwd --recipe drupal9 --webroot web --name my-drupal9-app # ίϯςφͷىಈ $ lando start …(লུ)... APPSERVER URLS https://localhost:55017 http://localhost:55018 http://my-drupal9-app.lndo.site:8080/ https://my-drupal9-app.lndo.site/ # DrupalϓϩδΣΫτͷ࡞ $ lando composer create-project drupal/recommended-project tmp && cp -r tmp/. . && rm -rf tmp
ͦͷ2. DrupalͷΠϯετʔϧ – ϒϥβͰϩʔΧϧαʔόʔʹΞΫηε͠·͢ɻ – http://my-drupal9-app.lndo.site:8080/ – ΠϯλϥΫςΟϒΠϯετʔϥʔ͕ىಈ͠·͢ɻ – ϓϩϑΝΠϧʮඪ४ʯΛબ
– σʔλϕʔεͷଓઌใ lando info ίϚϯυͰ֬ೝ LandoΛ༻͍ͨDrupalͷϩʔΧϧ։ൃڥͷ࡞ ͓·͚ɿLandoͷૢ࡞ – lando stop – ίϯςφͷఀࢭ – lando ssh – ίϯςφͷγΣϧʹΞΫηε͢Δ
࿅श
࿅श1 ΧελϜϞδϡʔϧͷMarucha(Ϛγϯ໊: marucha)Ϟδϡʔϧͷ ໊લۭؒͱͯ͠ਖ਼͍͠ͷΛબ͍ͯͩ͘͠͞ɻ 1. Drupal\modules\marucha ໊͕લۭؒͱͳΔɻ 2. Drupal\marucha
໊͕લۭؒͱͳΔɻ 3. Drupal\marucha\src ໊͕લۭؒͱͳΔɻ 4. ໊લۭؒෆཁͰ͋Δɻ
࿅श1 ΧελϜϞδϡʔϧͷMarucha(Ϛγϯ໊: marucha)Ϟδϡʔϧͷ ໊લۭؒͱͯ͠ਖ਼͍͠ͷΛબ͍ͯͩ͘͠͞ɻ 1. Drupal\modules\marucha ໊͕લۭؒͱͳΔɻ 2. Drupal\marucha
໊͕લۭؒͱͳΔɻ 3. Drupal\marucha\src ໊͕લۭؒͱͳΔɻ 4. ໊લۭؒෆཁͰ͋Δɻ 2
࿅श2 ϞδϡʔϧͰ࡞ͨ͠ΫϥεͷಡΈࠐΈʹ͍ͭͯਖ਼͍͠ͷΛબ͍ͯͩ͘͠͞ɻ 1. ίΞͰPSR-4ʹ४ڌͨ͠ΦʔτϩʔσΟϯά͕࣮͞Ε͓Γɺϧʔϧʹै͏͜ͱ ͰԸܙΛड͚Δ͜ͱ͕Ͱ͖Δɻ 2. ϑΝΠϧ͝ͱʹrequire_onceจΛ༻ͯ͠ಡΈࠐΉɻ 3. DevelϞδϡʔϧΛΠϯετʔϧ͢Δͱrequire_onceจΛ༻͠ͳͯࣗ͘ಈత ʹಡΈࠐ·ΕΔΑ͏ʹͳΔɻ
ϞδϡʔϧͰ࡞ͨ͠ΫϥεͷಡΈࠐΈʹ͍ͭͯਖ਼͍͠ͷΛબ͍ͯͩ͘͠͞ɻ 1. ίΞͰPSR-4ʹ४ڌͨ͠ΦʔτϩʔσΟϯά͕࣮͞Ε͓Γɺϧʔϧʹै͏͜ͱ ͰԸܙΛड͚Δ͜ͱ͕Ͱ͖Δɻ 2. ϑΝΠϧ͝ͱʹrequire_onceจΛ༻ͯ͠ಡΈࠐΉɻ 3. DevelϞδϡʔϧΛΠϯετʔϧ͢Δͱrequire_onceจΛ༻͠ͳͯࣗ͘ಈత ʹಡΈࠐ·ΕΔΑ͏ʹͳΔɻ ࿅श2
1
DrupalͷίʔσΟϯάنʹ͍ͭͯਖ਼͍͠ͷΛબ͍ͯͩ͘͠͞ɻ 1. ΧελϜϞδϡʔϧΧελϜςʔϚʹؔͯ͠ର֎Ͱ͋Δɻ 2. DrupalͷίʔσΟϯάنͰ༻ҙ͞Ε͍ͯΔϧʔϧ10ݸલޙͳͷͰɺेʹ֮͑Δ͜ͱ ͕Մೳɻ 3. ίΞͷόʔδϣϯʹؔͳ͘ɺ࠷৽ͷίʔυنʹै͏ඞཁ͕͋Δɻ ࿅श3
DrupalͷίʔσΟϯάنʹ͍ͭͯਖ਼͍͠ͷΛબ͍ͯͩ͘͠͞ɻ 1. ΧελϜϞδϡʔϧΧελϜςʔϚʹؔͯ͠ର֎Ͱ͋Δɻ 2. DrupalͷίʔσΟϯάنͰ༻ҙ͞Ε͍ͯΔϧʔϧ10ݸલޙͳͷͰɺेʹ֮͑Δ͜ͱ ͕Մೳɻ 3. ίΞͷόʔδϣϯʹؔͳ͘ɺ࠷৽ͷίʔυنʹै͏ඞཁ͕͋Δɻ ࿅श3 3
ຊͷΞδΣϯμऴྃ
ΞδΣϯμ 1. Ϟδϡʔϧͱ 2. Ϟδϡʔϧ։ൃͷલఏࣝ 3. Ϟδϡʔϧͷछྨ 4. Ϟδϡʔϧͷཧ 5.
ϞδϡʔϧͷσΟϨΫτϦߏͱϑΝΠϧ 6. Drupalڥͷ༻ҙ 7. ࿅श
None