Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Drupal モジュール開発入門講座 第1回 モジュールの基礎知識
Search
アクイアジャパン Acquia Japan
July 27, 2022
Programming
0
170
Drupal モジュール開発入門講座 第1回 モジュールの基礎知識
https://www.acquia.com/jp/events/webinars/drupal-module-development-vol1
アクイアジャパン Acquia Japan
July 27, 2022
Tweet
Share
More Decks by アクイアジャパン Acquia Japan
See All by アクイアジャパン Acquia Japan
Auth0 by OktaとDrupalで実践!認証付きアプリケーションの新しいアプローチ
acquiajp
0
180
Drupal 10.3の新機能紹介ウェビナー
acquiajp
0
230
DrupalCon Portland 2024 総まとめウェビナー
acquiajp
0
90
開発者必見!Acquia Cloud IDEで最高のDrupal開発を始めよう
acquiajp
0
170
触って学ぶ!デジタルアセット管理 Acquia DAM ハンズオンウェビナー
acquiajp
0
35
DrupalCon Lille 2023 総まとめウェビナー
acquiajp
0
58
コンテンツ設計手法で変更に強いアプリケーションを実現する〜ローコードによるWebアプリのバックエンド実装 #CNDF2023
acquiajp
0
370
DrupalCon Pittsburgh 2023 総まとめウェビナー
acquiajp
0
87
Acquia製品概要&Site Studioデモのご紹介
acquiajp
0
110
Other Decks in Programming
See All in Programming
Microservices rules: What good looks like
cer
PRO
0
1.3k
20251212 AI 時代的 Legacy Code 營救術 2025 WebConf
mouson
0
110
堅牢なフロントエンドテスト基盤を構築するために行った取り組み
shogo4131
8
2.3k
251126 TestState APIってなんだっけ?Step Functionsテストどう変わる?
east_takumi
0
310
Building AI Agents with TypeScript #TSKaigiHokuriku
izumin5210
6
1.3k
手軽に積ん読を増やすには?/読みたい本と付き合うには?
o0h
PRO
1
170
令和最新版Android Studioで化石デバイス向けアプリを作る
arkw
0
400
テストやOSS開発に役立つSetup PHP Action
matsuo_atsushi
0
150
Canon EOS R50 V と R5 Mark II 購入でみえてきた最近のデジイチ VR180 事情、そして VR180 静止画に活路を見出すまで
karad
0
110
リリース時」テストから「デイリー実行」へ!開発マネージャが取り組んだ、レガシー自動テストのモダン化戦略
goataka
0
130
モデル駆動設計をやってみようワークショップ開催報告(Modeling Forum2025) / model driven design workshop report
haru860
0
260
AIコーディングエージェント(Gemini)
kondai24
0
210
Featured
See All Featured
Navigating Team Friction
lara
191
16k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.2k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Leading Effective Engineering Teams in the AI Era
addyosmani
8
1.3k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.3k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
34k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.8k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.4k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
The Cost Of JavaScript in 2023
addyosmani
55
9.3k
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