Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ログの設計してますか?PSR3とログ設計の話
Search
Ryo Tomidokoro
June 16, 2018
Programming
6
4.6k
ログの設計してますか?PSR3とログ設計の話
PHPカンファレンス福岡2018 #phpconfuk #hall_fu
Ryo Tomidokoro
June 16, 2018
Tweet
Share
More Decks by Ryo Tomidokoro
See All by Ryo Tomidokoro
開発者が知っておきたい複雑さの正体/where-the-complexity-comes-from
hanhan1978
6
2.9k
Spec Driven Development入門/spec_driven_development_for_learners
hanhan1978
2
1.1k
フロントエンドがTypeScriptなら、バックエンドはPHPでもいいじゃない/php-is-not-bad
hanhan1978
8
13k
どうすると生き残れないのか/how-not-to-survive
hanhan1978
17
14k
100分で本番デプロイ!Laravelで作るWebアプリケーション作成/100min_web_app_cicd
hanhan1978
1
210
PHPerのための計算量入門/Complexity101 for PHPer
hanhan1978
8
3.3k
集中して作業する技術/how_to_work_deeply
hanhan1978
65
52k
PHPでデータベースを作ってみた/create-data-with-php
hanhan1978
11
11k
ADRを一年運用してみた/adr_after_a_year
hanhan1978
8
4.5k
Other Decks in Programming
See All in Programming
イベントストーミングのはじめかた / Getting Started with Event Storming
nrslib
1
770
Phronetic Team with AI - Agile Japan 2025 closing
hiranabe
2
700
大体よく分かるscala.collection.immutable.HashMap ~ Compressed Hash-Array Mapped Prefix-tree (CHAMP) ~
matsu_chara
1
180
『実践MLOps』から学ぶ DevOps for ML
nsakki55
2
490
CSC305 Lecture 15
javiergs
PRO
0
210
全員アーキテクトで挑む、 巨大で高密度なドメインの紐解き方
agatan
8
11k
高単価案件で働くための心構え
nullnull
0
170
知られているようで知られていない JavaScriptの仕様 4選
syumai
0
640
UIデザインに役立つ 2025年の最新CSS / The Latest CSS for UI Design 2025
clockmaker
2
1k
S3 VectorsとStrands Agentsを利用したAgentic RAGシステムの構築
tosuri13
4
200
アーキテクチャと考える迷子にならない開発者テスト
irof
9
3.4k
Micro Frontendsで築いた 共通基盤と運用の試行錯誤 / Building a Shared Platform with Micro Frontends: Operational Learnings
kyntk
1
1.6k
Featured
See All Featured
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
A Modern Web Designer's Workflow
chriscoyier
697
190k
Into the Great Unknown - MozCon
thekraken
40
2.2k
Building Adaptive Systems
keathley
44
2.8k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
10
690
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.5k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
KATA
mclloyd
PRO
32
15k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
Building an army of robots
kneath
306
46k
We Have a Design System, Now What?
morganepeng
54
7.9k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.8k
Transcript
*OOPWBUPS+BQBO*OD ॴ྄ &OHJOFFS ϩάͷઃܭͯ͠·͔͢ʁPSR3ͱϩάઃܭͷ PHPΧϯϑΝϨϯεԬ2018
͓Βͤ εϥΠυSpeakerDeckʹΞοϓ͠·͕͢… ࡱӨࣗ༝ʹ͍ͯͯ͋͠Γ·ͤΜ !IBOIBO
͜ͷτʔΫͷඪ एखΤϯδχΞ தݎΤϯδχΞ ˠϩάग़ྗʹ͍ͭͯͷ͡ΊͷҰา ˠυΩυΩͯ͠Β͏
ࠓճ͓͢Δϩάग़ྗ ΞϓϦέʔγϣϯϩά ߦಈϩάΣϒαʔόͷϩάର֎ ओॲཧʹӨڹΛ༩͑ͣɺόονΣϒΞϓϦ ͷॲཧ్தͰԿΒ͔ͷใΛ֎෦ʹग़ྗ͢Δ
ࠓճͷείʔϓ֎ͷ 'MVFOUE -PHTUBTI ϩάऩू ϩάՄࢹԽ ,JCBOB &MBTUJD4FBSDI
ಋೖ
ಋೖ ͋Δ
ಋೖ εϐʔσΟʔʹ WBS@EVNQ Λॻ͍ͨΓফͨ͠Γ͢ΔएखΛܸɻ
ಋೖ
ಋೖ
ಋೖ
ಋೖ ఆৗతͳͱ͔ͷνΣοΫ ϩάग़ྗͷ͕ศརΑͱ͑Δɻ
ಋೖ ·ͬͨ͘ϐϯͱདྷͯͳ͍ͷΛ؍ଌ
ಋೖ ϩάग़ྗʹ͍ͭͯतͤͶʂ
ಋೖ ࢥ͍ฦͯ͠ΈΔͱɻ ࣗϩάग़ྗͷํ๏ͱ͔शͬͨ͜ͱͳ͍ɻ งғؾͰग़ྗ͍ͯ͠Δʜ
ಋೖ ϩάग़ྗͷΞϨίϨΛ·ͱΊͯ νʔϜͷڞ௨ೝࣝΛ࡞Γ͍ͨ σόοάγεςϜӡ༻ʹ͓͚Δڧ͍ثʹͳΔ
0VUMJOF 8IBUJTMPHHJOH 8IZZPVMPH )PXZPVMPH 3JTLPGMPHHJOH 8IBUZPVTIPVMEQSFQBSF
0VUMJOF 8IBUJTMPHHJOH 8IZZPVMPH )PXZPVMPH 3JTLPGMPHHJOH 8IBUZPVTIPVMEQSFQBSF
ϩάग़ྗͱʁ -PHHJOHJTUIFBDUPGLFFQJOHBMPH -PHpMF8JLJQFEJB ใMPH ΛͲ͔͜ʹग़ྗ͢Δ͜ͱ ఆٛ؇͍ʜ
ϩάग़ྗʹؔΘΔ༷ 3'$ TZTMPHͷ༷͔͜͜Β৭ʑͱੜ 143 -PHHFS*OUFSGBDF
ϩάग़ྗʹؔΘΔ༷ 3'$ TZTMPHͷ༷͔͜͜Β৭ʑͱੜ 143 -PHHFS*OUFSGBDF 1)1FS.VTU3FBE
143ͷ֓ཁ ͭͷ༷ ͍ͷͰͥͻ࣮ࡍʹಡΜͰ΄͍͠ IUUQTXXXQIQpHPSHQTSQTS
143ͷ֓ཁ #BTJDT 3'$४ڌͭͷϩάϨϕϧ ͭͷग़ྗϝιου
ϩάϨϕϧͱʁ EFCVH JOGP OPUJDF XBSOJOH FSSPS DSJUJDBM BMFSU FNFSHFODZ ॏେ
ϩάϨϕϧͱʁ EFCVH JOGP OPUJDF XBSOJOH FSSPS DSJUJDBM BMFSU FNFSHFODZ -0(@-&7&-XBSOJOH
ग़ྗ͞Εͳ͍
143ͷ֓ཁ .FTTBHF ϝοηʔδTUSJOH͔@@UP4USJOH Λ࣮ͨ͠PCKFDU ͦ͏Ͱͳ͚ΕɺதΛTUSJOHʹΩϟετ ϝοηʔδิ
143ͷ֓ཁ $POUFYU DPOUFYUʹԿΛ͞Ε͍͔ͯͳΔྫ֎UISPX͠ ͳ͍ɻ·ͨFSSPSXBSOJOHOPUJDFग़͞ͳ͍ &YDFQUJPOΦϒδΣΫτAFYDFQUJPOAͱ͍͏LFZ ໊Ͱηοτ͢Δ
143ͷ֓ཁ )FMQFSDMBTTFTBOEJOUFSGBDF 1TS४ڌͷ-PHΫϥεɺΠϯλϑΣʔεɺτϨΠτ ͷઆ໌
0VUMJOF 8IBUJTMPHHJOH 8IZZPVMPH )PXZPVMPH 3JTLPGMPHHJOH 8IBUZPVTIPVMEQSFQBSF
Կނϩάग़ྗΛߦ͏ͷ͔ʁ QSJOUσόοά͡Όବͳͷ͔ʁ
QSJOUσόοά ൃݟతख๏ ώϡʔϦεςΟοΫ ݟ͕͍͍ͭͯΔݪҼͷߜࠐ 5SZ&SSPSͷͯͬͱΓૣ͍ํ๏
QSJOUσόοάͷ ࠶ݱੑʹ͍͠ QSJOUফ͠Ε ͖ͬ͞ॻ͍ͨWBS@EVNQ͏ແ͍ ͳΜ͔ը໘ͷࠨ্ʹग़ͯΔʜ
QSJOUσόοάͷ ಉ͜͡ͱͷ܁ฦ ຊ൪ڥͰແཧ -B[JOFTTҧͷ෮QSJOU WBS@EVNQग़ͤ·ͤΜʜ
QSJOUσόοάͷ ΞϓϦέʔγϣϯͷӨڹ QSJOUͱFYJUͷ߹ͤ 'SBNF8PSLͷऴॲཧΛ ։ൃڥʹ͓͍ͯɺ࠶ݱͮ͠Β͍ඍົͳόάΛੜΈग़͢
ϩάग़ྗͷಛ ࠶ݱੑ͕͋Δ ղੳతͳσόοά ઃஔՕॴৗʹಉ༷ʹϩάग़ྗ มߋʹΑΔࠩҟΛޙ͔ΒղੳՄೳ
͜Μͳ࣌ϩάग़ྗ ৗʹ֬ೝ͍ͨ͠ใ όονͷ࣮ߦใ ຊ൪ڥͰݟ͍ͨใ
ৗʹ֬ೝ͍ͨ͠ใ WJFXςϯϓϨʔτʹͨ͠ "1*ݺͼग़͠ͷ։࢝ɾऴྃ ࣮ߦͨ͠42-ͱύϥϝʔλ
ຊ൪ڥͰݟ͍ͨใ ։ൃڥͰ࠶ݱ͠ͳ͍ෆ۩߹ͷݕূϩά ߈ܸݕϩά -PHJO߈ܸ ܦྼԽ͕༧ଌ͞ΕΔՕॴͷܭଌϩά
όονͷ࣮ߦใ ։࢝࣌ؒɾऴྃ࣌ؒ "#&/%࣌ͷఀࢭՕॴ ॲཧ݅ ࠶࣮ߦίϚϯυ ͜ΕຊʹΦεεϝɻ
0VUMJOF 8IBUJTMPHHJOH 8IZZPVMPH )PXZPVMPH 3JTLPGMPHHJOH 8IBUZPVTIPVMEQSFQBSF
Ͳ͏ͬͯϩάग़ྗΛߦ͏ͷ͔ʁ 143४ڌՄೳͳϥΠϒϥϦʔ .POPMPH ;FOE-PHHFS ϑϨʔϜϫʔΫ͕ఏڙ͢ΔϩΨʔ ϩάΛૉʹग़ͤΔͳΒɺ143ඇ४ڌͰྑ͍
Ͳ͏ͬͯϩάग़ྗΛߦ͏ͷ͔ʁ ΦϨΦϨϩΨʔବ͔ʁ ษڧͷͨΊͷंྠͷ࠶ൃ໌0, Ͱຊ൪ར༻Ί·͠ΐ͏
Ͳ͏ͬͯϩάग़ྗΛߦ͏ͷ͔ʁ ੜͰFSSPS@MPHؔͱ͔/( ͨͩ͠ɺօʹ߹ͬͯͷ͕͋Δ͜ ͱࢲཧղ͍ͯ͠Δ ͍Θ͕ͣͳ ͔ΓΈ͕͋Δ
Ͳ͏ͬͯϩάग़ྗΛߦ͏ͷ͔ʁ ͓ߦّͷѱ͍ϩάग़ྗఫڈ͕جຊ ඃ͕গͳ͍͏ͪʹखΛଧ͍ͬͯ͜͏ ͱ͍͑ ͷϑΥʔϚοτͱ͔ͰϞχϣΓͨ͘ͳ͍
0VUMJOF 8IBUJTMPHHJOH 8IZZPVMPH )PXZPVMPH 3JTLPGMPHHJOH 8IBUZPVTIPVMEQSFQBSF
ϩάग़ྗͷϦεΫ ϩάग़ྗʹཱͭ ͨͩ͠ɺϦεΫΛ಄ʹೖΕ͓ͯ͘ ඞཁ͕͋Δ
ϦεΫ ใ࿙͍͑ ΞϓϦέʔγϣϯ࣮ߦͷ ϩάग़ྗͷઃఆϛε ҙਤ͠ͳ͍ݸਓใऩू
ใ࿙͍͑ εϥυ IUUQTTFDVSJUZTSBEKQTUPSZ
ྫ͑͜Μͳίʔυ %#Ͱύεϫʔυ҉߸Խͯͯ͠ແ͠
ΞϓϦέʔγϣϯ࣮ߦͷ Τϥʔൃੜ࣌ͷϩάΛϝʔϧૹ৴ όάϦϦʔεͰେྔͷΤϥʔϝʔϧ ϝʔϧૹ৴Ͱ٧·ͬͯʜ Τϥʔൃੜ࣌ͷϩάΛ4MBDLͰૹ৴ όάϦϦʔεͰSZ ·͞ʹΧΦε
ઃఆϛε EFCVHϩά͕ຊ൪Ͱग़ͬͺͳ͠ େͳྔͷϩάग़ྗ ΫΤϦύϥϝʔλʔʜ ૠೖɾߋ৽σʔλ͕શ෦࿙Ӯ͍ͯ͠ΔͷͱҰॹ
ઃఆϛε ϩάΛ༗ޮ׆༻͢Δ ϩάϨϕϧͷઃఆϛε͕க໋ই
ઃఆϛε ݟ͍ͨ࣌ʹϩά͕ͳ͍ ϦϦʔεͰϩάϑΝΠϧ͕ॻ όάमਖ਼ޙʹݕূෆՄೳ ϩάͷग़ྗઌΞϓϦσΟϨΫτϦ֎ʹ
ઃఆϛε Πϯϑϥͷ͓͡͞Μ ΞϓϦέʔγϣϯϩάकඋൣғ֎ ࣗͷࣗͰकΕ
ݸਓใ ݸਓใ͕ϩάʹग़ྗ͞Ε͍ͯΔ߹ (%13ͷേଇॏ͍ͨ ϓϥΠόγʔϙϦγʔͷهࡌʁ Ϣʔβ͕ಉҙͯ͠ͳ͍ར༻/(
ݸਓใ ҙਤͤͣʹߦಈϩάΛऩूͯ͠͠·͍ͬͯ ͳ͍͔ʁόϨͳ͚Εྑ͍ͱ͍͏Ͱ ͳ͍ɻ
ҙ͖ࣝ͢ॏཁࣄ߲ ϩάग़ྗͰ͍͔ͳΔσʔλ࿙ӮՄೳ ϩάϑΝΠϧͷةݥੑΛཧղ͍ͯ͠ͳ͍ͱॏେ ͳଛࣦΛҾ͖ى͜͢Մೳੑ ͍ͯ͠ΔΞϓϦಛʹҙ
͜͏͍͏ίʔυʹԠ͢ΔΑ͏ʹʂ ͍ใΛEFCVHҎ֎Ͱग़ྗ
͜͏͍͏ίʔυʹԠ͢ΔΑ͏ʹʂ ઃఆϛεͰҰൃπϞͦ͠͏ͳϩά
ͰͲ͏͠Ζͱʁ ͏ϩάͳΜͯग़ྗ͠ͳ͍΄͏͕ʜ ͦΕҰͭͷਖ਼ղͱͯ͠ΞϦ
0VUMJOF 8IBUJTMPHHJOH 8IZZPVMPH )PXZPVMPH 3JTLPGMPHHJOH 8IBUZPVTIPVMEQSFQBSF
ԿΛܾΊ͓͚͍͍ͯͷ͔ʁ ΞϓϦέʔγϣϯ։ൃ࣌ ΞϓϦέʔγϣϯӡ༻࣌ ͦΕͧΕͷܾΊ͝ͱϩάઃܭ
ΞϓϦέʔγϣϯ։ൃ࣌ͷܾΊ͝ͱ -PHHFSͷબఆ .FTTBHFͷϧʔϧ جຊػೳʹେࠩແ͍ͷͰɺঢ়گʹ߹Θͤͯॊೈʹɻ -PHHFS͍ͬͯΕେ·͔ͳϑΥʔϚοτ߹͍ͬͯΔ ·ͣ։ൃऀͤͰྑ͍͔
ΞϓϦέʔγϣϯ։ൃ࣌ͷܾΊ͝ͱ ڞ௨ग़ྗ༰ όονϩάͷग़ྗϑΥʔϚοτ 3FBENFʹॻ͍͓͍ͯͯ͋͛·͠ΐ͏ɻ ΫΤϦϩάɺWJFXύϥϝʔλ మ൘ͰཱͭͷͰ࡞Γ·͠ΐ͏ɻ
ΞϓϦέʔγϣϯӡ༻࣌ͷܾΊ͝ͱ ڥຖͷϩάϨϕϧ ϩάϑΝΠϧͷϩʔςʔγϣϯɺӬଓԽํ๏ ։ൃڥEFCVH ຊ൪ڥXBSOJOH ΞϓϦέʔγϣϯΤϯδχΞͷʂ ޙͰղੳͰ͖ΔΑ͏ʹ͓ͯ͘͜͠ͱ
ΞϓϦέʔγϣϯӡ༻࣌ͷܾΊ͝ͱ ϩάϨϕϧઃఆͷϑΣʔϧηʔϑ Ϗϧυ࣌ʹEFCVHϨϕϧͷϩάΛআ %*Ͱۭϩάग़ྗ࣮ʹସ ϩάग़ྗઌͱग़ྗํ๏ ϝʔϧ4MBDLϒϩοΩϯά͠ͳ͍ํ๏ ಉ͡༰ͷΤϥʔϩάͷग़ྗ੍
·ͣ࠷ݶ͔Β ग़དྷͨͯͷΞϓϦͰᘳΛࢦ͢ͷແཧ ΞϓϦͷϑΣʔζʹ߹ΘͤͯɺϦεΫͱ্ खʹௐ͍ͯ͘͜͠ͱ͕ॏཁ
·ͱΊ एखΤϯδχΞͷํ ϩάग़ྗΤϥʔͷݕͱղੳΛߦ͏ڧྗͳखஈ ࡞๏ʹͷͬͱΓͭͭੵۃతʹ׆༻͠·͠ΐ͏
·ͱΊ தݎΤϯδχΞͷํ ͋ͳͨͷΞϓϦέʔγϣϯͷϩάେৎͰ͔͢ʁ υΩυΩͯͨ͠Βਅͳӡ༻Λߟ͑·͠ΐ͏ɻ
ૉఢͳϩάग़ྗੜ׆Λʂ