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
PHPでCQRS+ES入門
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Akinori Takigawa
January 14, 2026
240
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
PHPでCQRS+ES入門
Akinori Takigawa
January 14, 2026
More Decks by Akinori Takigawa
See All by Akinori Takigawa
Nginxになりきって、FCGIでPHPと喋ろう
akinoriakatsuka
0
95
PHPUnitのテストイベントを使ってテストにかかる時間の計測をしよう
akinoriakatsuka
0
160
パイプ演算子の実装を 覗いてみよう
akinoriakatsuka
0
240
手軽に作れる電卓を作って イベントソーシングに親しもう CQRS+ESカンファレンス2026
akinoriakatsuka
0
950
Rubyで作る物理エンジン - 叡電LT
akinoriakatsuka
0
46
パイプ演算子の実装を覗いてみよう - 【非公式】PHPカンファレンス福岡2025・前日Meetup
akinoriakatsuka
0
52
技術的負債の会計学 - PHPカンファレンス広島2025
akinoriakatsuka
8
1.6k
スクラムをちゃんとやる勇気
akinoriakatsuka
0
75
キャリアを拓く! 登壇のススメ - PHPカンファレンス関西アフターパーティー in スマレジ
akinoriakatsuka
1
160
Featured
See All Featured
We Are The Robots
honzajavorek
0
270
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.7k
Side Projects
sachag
455
43k
For a Future-Friendly Web
brad_frost
183
10k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Building Applications with DynamoDB
mza
96
7.1k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.2k
How to Think Like a Performance Engineer
csswizardry
28
2.7k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
260
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.4k
Transcript
͖͋ 1)1Ͱ$234 &4ೖ ୈճؔ1)1ษڧձQIQLBOTBJ
୍ ܒلʢ27ࡀʣ ͖͋ X: @aki_artisan גࣜձࣾϥϯϓʢژʣ PHPer εΫϥϜϚελʔ ઃܭʹڵຯ͕͋Δ ը૾ɿPHPerKaigi
͓͜ͱΘΓ w $234ෳࡶʹͳΓ͕ͪͳͷͰɺ͏ͷ৻ॏʹ w ·ͩࢲ࣮ફೖͨ͜͠ͱͳ͍Ͱ͢ʜ w ࣮ࡍʹಈ͍͍ͯΔͷΛΈͯɺಓ۩ശʹ͠·͓ͬͯ͘͘Β͍ͷԹײΛਪ w গͳ͘ͱɺ#&"34VOEBZ"EWFOU$BMFOEBSͷ෦࡞ΛಡΜͰ͔Β ࣮ફ͢ΔͷΛ͓קΊ͠·͢
$234ͱ w ίϚϯυɾΫΤϦ w ΦϒδΣΫτΛঢ়ଶมߋΛߦ͏ίϚϯυͱΛฦ͢ΫΤϦʹׂ͢Δ w ίϚϯυͱΫΤϦʹඞཁͳϞσϧͦΕͧΕੑ࣭͕ҟͳΔ w ίϚϯυ߹ੑ͕อূ͞Εͨਖ਼͍͠ঢ়ଶ͕ඞཁ w
ΫΤϦܗ͞Εͨσʔλˠ༻్ʹԠͯ͡ෳͷϞσϧ͕͋ͬͯྑ͍
$234ͱ (SFH:PVOHͷྫ $VTUPNFS4FSWJDF WPJE.BLF$VTUPNFS1SFGFSSFE $VTUPNFS*E $VTUPNFS(FU$VTUPNFS $VTUPNFS*E $VTUPNFS4FU(FU$VTUPNFST8JUI/BNF
/BNF $VTUPNFS4FU(FU1SFGFSSFE$VTUPNFST WPJE$IBOHF$VTUPNFS-PDBMF $VTUPNFS*E /FX-PDBMF WPJE$SFBUF$VTUPNFS $VTUPNFS WPJE&EJU$VTUPNFS%FUBJMT $VTUPNFS%FUBJMT $VTUPNFS8SJUF4FSWJDF WPJE.BLF$VTUPNFS1SFGFSSFE $VTUPNFS*E WPJE$IBOHF$VTUPNFS-PDBMF $VTUPNFS*E /FX-PDBMF WPJE$SFBUF$VTUPNFS $VTUPNFS WPJE&EJU$VTUPNFS%FUBJMT $VTUPNFS%FUBJMT $VTUPNFS3FBE4FSWJDF $VTUPNFS(FU$VTUPNFS $VTUPNFS*E $VTUPNFS4FU(FU$VTUPNFST8JUI/BNF /BNF $VTUPNFS4FU(FU1SFGFSSFE$VTUPNFST IUUQTXFCBSDIJWFPSHXFCIUUQDPEFCFUUFSDPNHSFHZPVOHDRSTUBTLCBTFEVJTFWFOUTPVSDJOHBHI
ิɿϞσϧͬͯԿʁͱࢥͬͨํ XFC͞Μͷࢿྉ͕Θ͔Γ͍͢ IUUQTTQFBLFSEFDLDPNXFCXIBUJTNPEFM
&4ͱ w Πϕϯτιʔγϯά w Πϕϯτʢग़དྷࣄʣΛ།Ұͷਅ࣮ͷݯʢιʔεʣͱ͢Δ͜ͱ w Πϕϯτաڈܗ w $234ͱ૬ੑ͕ྑ͍ w
ίϚϯυूʹର͢Δʢۀ্ҙຯͷ͋ΔʣΠϕϯτͱͯ͠දݱ͢Δͱ ཧ͍͢͠
&4ͱ w ूʹର͢ΔΠϕϯτ͕͍ͬͯΔͱ#*ͷΑ͏ͳੳ͕͍͢͠ w ࠷৽ͷঢ়ଶ͚͔͍ͩͬͯ͠ͳ͍ͱੳͰ͖ͳ͍ ސ٬*% ୲ऀ໊ εςʔλε ϑΥϩʔΞοϓ࣌
ాதଠ ࡁ ླՖࢠ ऴྃ ࢁాࡾ ஊ༧ఆ ࠤ౻थ ৽ن
(SPVQ$IBUʹର͢ΔΠϕϯτ w$SFBUFE w%FMFUFE w3FOBNFE w.FNCFS"EEFE w.FNCFS3FNPWFE w.FTTBHF1PTUFE w.FTTBHF&EJUFE w.FTTBHF%FMFUFE (SPVQ$IBU
.FNCFS .FTTBHF ू
ߏͷ֓೦ਤ 8SJUF.PEFM ΠϕϯτετΞ 3FBE.PEFM ϦʔυϞσϧ Ξοϓσʔλ σʔλϕʔε ίϚϯυ ΫΤϦ มߋ௨
Ө
ίϚϯυଆʢॻ͖ࠐΈϞσϧʣ w Ϣʔβʔ͔ΒίϚϯυʢ㲈ҙਤʣΛड͚औΔ w ࢦఆ͞Εͨ*%ͰूΛ෮ݩ w ίϚϯυͷద༻ΛࢼΈΔ w υϝΠϯϧʔϧͷݕূ w
ޭͨ͠ΒΠϕϯτΛΠϕϯτετΞʹه
ϦʔυϞσϧΞοϓσʔλ w ΠϕϯτετΞʹΠϕϯτ͕Ճ͞ΕͨͷΛࢹͯ͠ɺ ϦʔυϞσϧΛߋ৽͢Δ w ˣΠϕϯτΛड͚औͬͯߦ͏ॲཧͷྫ public function renameGroupChat(string $id,
string $name): void { $stmt = $this->pdo->prepare( 'UPDATE group_chats SET name = :name, updated_at = NOW() WHERE id = :id' ); $stmt->execute([ 'id' => $id, 'name' => $name, ]); }
ΫΤϦଆʢಡΈऔΓϞσϧʣ w ϦʔυϞσϧͷݱࡏͷঢ়ଶΛΫΤϦ͢ΔͷΈ w มߋߦΘͳ͍
αϯϓϧͷϦϙδτϦ w ඦฉҰݟʹ͔ͣ w IUUQTHJUIVCDPNBLJOPSJBLBUTVLBDRSTFTFYBNQMFQIQ
·ͱΊ w ॻ͖ࠐΈଆͱಡΈࠐΈଆͷϞσϧΛ͚Δͷ͕$234 w ूͷঢ়ଶΛΠϕϯτͷੵΈ্͛Ͱಋग़͢Δͷ͕&4 w ٕज़తʹෳࡶ͕ͩɺঢ়ଶભҠΛࡉ͔͘ੳ͍ͨ͠߹ʹ༗ޮ w ॻ͖ࠐΈϞσϧɺಡΈऔΓϞσϧɺϦʔυϞσϧΞοϓσʔλͰߏ͞ΕΔ
ࢀߟࢿྉ w 1FLLP$234&WFOU4PVSDJOHશ։ൃΨΠυʢ͔ͱ͡ΎΜ͞Μʣ w IUUQTUFDICPPLQSFDFOBDPKQFOUSZQFLLPDRSTFTHVJEF w $234ΛΊ͙Δೋͭͷੈք؍ʢLPSJZN͞Μʣ w IUUQTRJJUBDPNLPSJZNJUFNTFEGFE w
ϞσϧͱԿ͔ʢͳͳ͏͐Ϳ͞Μʣ w IUUQTTQFBLFSEFDLDPNXFCXIBUJTNPEFM
ࢀߟࢿྉ w ʰυϝΠϯۦಈઃܭΛ͡ΊΑ͏ʱʢ7MBE,IPOPOPWʣ w IUUQTXXXPSFJMMZDPKQCPPLT w ষ࣌ؒ࣠ͰϞσϧΛ࡞Δ w ίϚϯυɾΫΤϦ