Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
PHPでCQRS+ES入門
Search
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
110
PHPUnitのテストイベントを使ってテストにかかる時間の計測をしよう
akinoriakatsuka
0
210
パイプ演算子の実装を 覗いてみよう
akinoriakatsuka
0
270
手軽に作れる電卓を作って イベントソーシングに親しもう CQRS+ESカンファレンス2026
akinoriakatsuka
0
1.1k
Rubyで作る物理エンジン - 叡電LT
akinoriakatsuka
0
53
パイプ演算子の実装を覗いてみよう - 【非公式】PHPカンファレンス福岡2025・前日Meetup
akinoriakatsuka
0
55
技術的負債の会計学 - PHPカンファレンス広島2025
akinoriakatsuka
8
1.6k
スクラムをちゃんとやる勇気
akinoriakatsuka
0
77
キャリアを拓く! 登壇のススメ - PHPカンファレンス関西アフターパーティー in スマレジ
akinoriakatsuka
1
170
Featured
See All Featured
A better future with KSS
kneath
240
18k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
320
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
68
57k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
230
Git: the NoSQL Database
bkeepers
PRO
432
67k
The untapped power of vector embeddings
frankvandijk
2
1.9k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
590
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
820
Joys of Absence: A Defence of Solitary Play
codingconduct
1
500
Accessibility Awareness
sabderemane
1
210
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 ίϚϯυɾΫΤϦ