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
Drupal モジュール開発入門講座 第1回 モジュールの基礎知識
Search
アクイアジャパン Acquia Japan
July 27, 2022
Programming
0
160
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
57
Drupal 10.3の新機能紹介ウェビナー
acquiajp
0
110
DrupalCon Portland 2024 総まとめウェビナー
acquiajp
0
39
開発者必見!Acquia Cloud IDEで最高のDrupal開発を始めよう
acquiajp
0
63
触って学ぶ!デジタルアセット管理 Acquia DAM ハンズオンウェビナー
acquiajp
0
18
DrupalCon Lille 2023 総まとめウェビナー
acquiajp
0
41
コンテンツ設計手法で変更に強いアプリケーションを実現する〜ローコードによるWebアプリのバックエンド実装 #CNDF2023
acquiajp
0
330
DrupalCon Pittsburgh 2023 総まとめウェビナー
acquiajp
0
77
Acquia製品概要&Site Studioデモのご紹介
acquiajp
0
75
Other Decks in Programming
See All in Programming
Nurturing OpenJDK distribution: Eclipse Temurin Success History and plan
ivargrimstad
0
930
watsonx.ai Dojo #4 生成AIを使ったアプリ開発、応用編
oniak3ibm
PRO
1
130
アジャイルを支えるテストアーキテクチャ設計/Test Architecting for Agile
goyoki
9
3.3k
Laravel や Symfony で手っ取り早く OpenAPI のドキュメントを作成する
azuki
2
120
AWS Lambdaから始まった Serverlessの「熱」とキャリアパス / It started with AWS Lambda Serverless “fever” and career path
seike460
PRO
1
260
TypeScript Graph でコードレビューの心理的障壁を乗り越える
ysk8hori
2
1.1k
What’s New in Compose Multiplatform - A Live Tour (droidcon London 2024)
zsmb
1
470
CSC509 Lecture 11
javiergs
PRO
0
180
リアーキテクチャxDDD 1年間の取り組みと進化
hsawaji
1
220
Kaigi on Rails 2024 〜運営の裏側〜
krpk1900
1
230
3 Effective Rules for Using Signals in Angular
manfredsteyer
PRO
1
100
最新TCAキャッチアップ
0si43
0
140
Featured
See All Featured
Bash Introduction
62gerente
608
210k
Mobile First: as difficult as doing things right
swwweet
222
8.9k
Visualization
eitanlees
145
15k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
31
2.7k
Embracing the Ebb and Flow
colly
84
4.5k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
Fireside Chat
paigeccino
34
3k
Music & Morning Musume
bryan
46
6.2k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Measuring & Analyzing Core Web Vitals
bluesmoon
4
120
Optimising Largest Contentful Paint
csswizardry
33
2.9k
The Cult of Friendly URLs
andyhume
78
6k
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