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
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
Testing 201, or: Great Expectations
jmmastey
46
8.2k
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
Discover your Explorer Soul
emna__ayadi
2
1.1k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.5k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
65
55k
Building an army of robots
kneath
306
46k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
160
Art, The Web, and Tiny UX
lynnandtonic
304
22k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.1k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
240
Exploring anti-patterns in Rails
aemeredith
3
410
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
62
44k
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 ίϚϯυɾΫΤϦ