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
230
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
86
PHPUnitのテストイベントを使ってテストにかかる時間の計測をしよう
akinoriakatsuka
0
140
パイプ演算子の実装を 覗いてみよう
akinoriakatsuka
0
230
手軽に作れる電卓を作って イベントソーシングに親しもう CQRS+ESカンファレンス2026
akinoriakatsuka
0
900
Rubyで作る物理エンジン - 叡電LT
akinoriakatsuka
0
43
パイプ演算子の実装を覗いてみよう - 【非公式】PHPカンファレンス福岡2025・前日Meetup
akinoriakatsuka
0
50
技術的負債の会計学 - PHPカンファレンス広島2025
akinoriakatsuka
8
1.6k
スクラムをちゃんとやる勇気
akinoriakatsuka
0
69
キャリアを拓く! 登壇のススメ - PHPカンファレンス関西アフターパーティー in スマレジ
akinoriakatsuka
1
160
Featured
See All Featured
sira's awesome portfolio website redesign presentation
elsirapls
0
280
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
250
Believing is Seeing
oripsolob
1
150
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
Abbi's Birthday
coloredviolet
2
8.1k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.9k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
160
Writing Fast Ruby
sferik
630
63k
Technical Leadership for Architectural Decision Making
baasie
3
410
The World Runs on Bad Software
bkeepers
PRO
72
12k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
65
56k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
390
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 ίϚϯυɾΫΤϦ