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
Symfony2を1年間実践で使ってみて学んだこと
Search
Katsuhiro Ogawa
April 21, 2012
Programming
5
6.5k
Symfony2を1年間実践で使ってみて学んだこと
PHPカンファレンス北海道
2012.04.21
Katsuhiro Ogawa
April 21, 2012
Tweet
Share
More Decks by Katsuhiro Ogawa
See All by Katsuhiro Ogawa
新規プロダクト開発に伴う既存マイクロサービスのリアーキテクティングとその後
fivestar
1
150
Goで学ぶSOLID原則
fivestar
0
400
メルカリ CSE チームの 歩みと取り組み / Steps and Tries in the CSE team for Mercari
fivestar
2
950
Go in Corporate Solutions Engineering
fivestar
0
2.5k
いつまでPHP 5.x使ってるの
fivestar
1
2k
PHP のドキュメントを読んで PHP のことをもっと知ろう
fivestar
1
3.3k
CrocosSecurityBundleを Symfony3.0に対応した話
fivestar
0
290
PHP BLT だけど HTML5 の コンテンツモデルのお話
fivestar
0
2.4k
THE NEW "PERFECT PHP" WILL BE COMING SOON
fivestar
0
8.1k
Other Decks in Programming
See All in Programming
All About Angular's New Signal Forms
manfredsteyer
PRO
0
180
Go Conference 2025: Goで体感するMultipath TCP ― Go 1.24 時代の MPTCP Listener を理解する
takehaya
9
1.7k
技術的負債の正体を知って向き合う
irof
0
180
タスクの特性や不確実性に応じた最適な作業スタイルの選択(ペアプロ・モブプロ・ソロプロ)と実践 / Optimal Work Style Selection: Pair, Mob, or Solo Programming.
honyanya
3
180
Go言語の特性を活かした公式MCP SDKの設計
hond0413
1
240
AIと人間の共創開発!OSSで試行錯誤した開発スタイル
mae616
1
640
Pull-Requestの内容を1クリックで動作確認可能にするワークフロー
natmark
2
520
AI駆動で0→1をやって見えた光と伸びしろ
passion0102
1
240
Le côté obscur des IA génératives
pascallemerrer
0
150
XP, Testing and ninja testing ZOZ5
m_seki
3
700
Web フロントエンドエンジニアに開かれる AI Agent プロダクト開発 - Vercel AI SDK を観察して AI Agent と仲良くなろう! #FEC余熱NIGHT
izumin5210
3
550
CSC305 Lecture 05
javiergs
PRO
0
220
Featured
See All Featured
How GitHub (no longer) Works
holman
315
140k
Making the Leap to Tech Lead
cromwellryan
135
9.6k
Embracing the Ebb and Flow
colly
88
4.9k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.7k
Unsuck your backbone
ammeep
671
58k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
Visualization
eitanlees
149
16k
A designer walks into a library…
pauljervisheath
209
24k
The Straight Up "How To Draw Better" Workshop
denniskardys
238
140k
How to Ace a Technical Interview
jacobian
280
24k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
Transcript
Symfony2Λ1࣮ؒફͰ ͬͯΈֶͯΜͩ͜ͱ גࣜձࣾΫϩίε খ༤େ
ࣗݾհ •খ ༤େ / ͓͕Θ ͔ͭͻΖ @fivestr •גࣜձࣾΫϩίε •ຊSymfonyϢʔβʔձ •PHPྺ6
( ≒ ϓϩάϥϛϯάྺ) •http://fivestar.hatenablog.com/
ஶॻ •ύʔϑΣΫτPHP •symfony 1.4ʹΑΔWebΞϓϦέʔγϣϯ։ൃ •ܦιϑτΤΞ
ࠓͷ༰ •Ϋϩίεͷ׆ಈհ •Symfonyʹ͍ͭͯ •͜ͷ1ͰֶΜͩ͜ͱ •ॻ੶ͷએʢҰ൪େࣄʣ
גࣜձࣾΫϩίε •2011.02.07ʹཱ •http://crocos.co.jp/ •5ਓͷPHPΤϯδχΞ •ओͳۀFacebookΞϓϦ։ൃ •डୗͰͳ͘ASP
αʔϏεհ(اۀ͚) •CrocosϚʔέςΟϯά •Facebook͚ϚʔέςΟϯάεΠʔτ •ݱࡏ8ͭͷΞϓϦΛఏڙ •CrocosΧλϩά •ָఱ্Ͱൢച͍ͯ͠ΔΛFacebook ϖʔδ্Ͱදࣔ͢ΔΞϓϦ
αʔϏεհ(Ұൠ͚) •Crocosεέδϡʔϥ •Crocosεϙοτ •CrocosΑ͕͖ͤ •Crocosݒ •ͯ͢FacebookΞϓϦ
Facebookެೝʂ •Ϋϩίε͕FacebookͷೝఆϚʔέςΟϯ άσϕϩούʔʹͳΓ·ͨ͠ʂ(ຊॳʂ) •4.19ʹൃද͞Ε͔ͨΓ •ࠃͰ4ࣾͷΈ
։ൃͷελΠϧ •֤ΞϓϦ͝ͱʹ୲͕1ਓ •2ਓ1νʔϜͰਐḿλεΫΛཧ •֤ࣗɺ1ʙ3िؒ͘Β͍ͰػೳΛ࡞ͬͯ ϦϦʔεΛ܁Γฦ͍ͯ͠Δ
։ൃʹ͍ͭͯ •αʔόαΠυͯ͢PHP •Symfony2ϑϨʔϜϫʔΫΛ࠾༻
Symfony2 •ൺֱత৽͍͠ϑϨʔϜϫʔΫ •PHP 5.3Ҏ্
Symfony2Λ࠾༻ͨ͠ܦҢ •৽͔͔ͬͨ͠Β…… •࠾༻ͨ࣌͠·ͩΞϧϑΝ൛ •PHP 5.3͚ͷϑϨʔϜϫʔΫͱͯ͠ଞʹ ·ͱͳͷ͕ͳ͔ͬͨ
Symfonyͷಛ •Symfonyߴ͍ॊೈੑΛ࣋ͭ •ઃܭͷࣗ༝͕ߴ͍ͨΊɺઃܭεΩϧ͕ ͦΕͳΓʹٻΊΒΕΔ •։ൃॳ৺ऀʹෆ͖
SymfonyͱϞσϧ •SymfonyͰ༷ʑͳ͜ͱ͕ϞσϧΛத৺ʹ ߦΘΕΔ •ೖྗϑΥʔϜΛѻ͏ॲཧͷྲྀΕ 1.ϑΥʔϜσʔλΛϞσϧʹө 2.Ϟσϧͷঢ়ଶΛόϦσʔγϣϯ 3.ϞσϧͷσʔλΛσʔλϕʔεอଘ
SymfonyͱϞσϧ •SymfonyͰϞσϧϐϡΞͳPHPΦϒ δΣΫτͱͯ͠ѻ͏ •Γ͍ͨ͜ͱʹ࠷దԽͨ͠ΦϒδΣΫτ Λ༻ҙ͢ΔͱεϜʔζʹΛղܾՄೳ
SymfonyʹݶΒͣ •ϞσϧΞϓϦέʔγϣϯͰͬͱॏ ཁͳ෦ •ϑϨʔϜϫʔΫ͕༻ҙͨ͠Ϋϥε͚ͩͰ ͳ͘ɺඞཁʹ͋Θͤͯॊೈʹ࣮͢Δ
Symfonyͱόϯυϧ •Symfonyͷػೳόϯυϧͱ͍͏୯ҐͰ· ͱΊΒΕ͓ͯΓɺඞཁͳͷ͚ͩ͏͜ ͱ͕Ͱ͖Δ •ϑϨʔϜϫʔΫ͕༻ҙ͢Δػೳ͕߹Θͳ ͚Εແཧʹ͏ඞཁͳ͍
νʔϜʹ͋ͬͨͷΛ͏ •SymfonyΛ͍࢝Ίͯ1൪͍ͮΒ͔ͬͨ ͷ͕ඪ४ͷೝূͷΈ •ઃఆ͕ෳࡶͰѻ͍ͮΒ͔ͬͨͷͰɺγϯ ϓϧͳೝূͷΈΛ࣮ • https://github.com/crocos/CrocosSecurityBundle
όϯυϧʹΑΔ࠶ར༻ •͍ճͤΔίʔυόϯυϧʹ·ͱΊͯ ͍ճ͍ͯ͠Δ •GitͰཧ͍ͯ͠Δ
γϯϓϧʹ࡞Δ͜ͱ •ͲΜͳʹॊೈʹͰ͖Δ͔Βͱ͍͑ɺෳ ࡶԽͯ͠ཧ͕େม •ඞཁͳΛγϯϓϧʹ࣮͍ͯ͘͜͠ͱ ͕ޮతʹΞϓϦΛ։ൃ͍ͯ͘͠ίπ
YAGNIݪଇ •“You ain’t gonna need it” ͷུ •ඞཁʹͳΔ·Ͱ࣮͠ͳ͍
DI •“Dependency Injection” ͷུ •ґଘੑͷೖͱ͍͏ҙຯ •ΦϒδΣΫτؒͷґଘΛ͑ΔͨΊͷ ςΫχοΫ
None
DIίϯςφ •ґଘؔΛઃఆ͓ͯ͘͠ͱɺ͏·͍͜ͱ ͬͯ͘ΕΔΦϒδΣΫτ •͍͗͢ΔͱෳࡶʹͳΔͷͰ΄Ͳ΄Ͳʹ ͓ͯ͘͠
࠷ۙͷ՝ •ΞϓϦͷύϑΥʔϚϯε͕ѱ͍ •ͦͦνϡʔχϯάΛ͍ͯ͠ͳ͍ •SymfonyࣗମΘΓͱॏ͍ •ςετΛॻ͘ •PHP 5.4Խ
SymfonyͬͯͲ͏ͳͷʁ •Έ͍ͨͳΈͦΦϒδΣΫτࢦͰͰ ͖͍ͯΔਓʹద͍ͯ͠Δ •σβΠϯύλʔϯͳͲΛਵॴͰऔΓೖΕͯ ͍ΔͨΊɺύλʔϯΛ͍ͬͯΔͱΘΓ ͱεϜʔζʹֶशͰ͖Δ •υϝΠϯۦಈઃܭ (DDD)
ॻ੶հ •͕͜Ε·Ͱ։ൃΛߦ͖ͬͯͨதͰֶΜ ͩ͜ͱΛॻ੶ʹ͠·ͨ͠ •ݱͷ։ൃऀ͚
ޮతͳWeb ΞϓϦέʔγϣϯ ͷ࡞Γํ •ٕज़ධࣾ •2,780ԁ •352ϖʔδ •5.29ൃച ISBN978-4-7741-5082-6
Part1 MVC։ൃͷجૅࣝ • 1ষ MVC։ൃͷ֓ཁ • 2ষ ΦϒδΣΫτࢦ
Part2 ϑϨʔϜϫʔΫΛར༻ ͢Δར • 3ষ ϨΨγʔίʔυͷܽ • 4ষ ϦϑΝΫλϦϯάɾσβΠϯύλʔ ϯ࣮ફ
• 5ষ ϑϨʔϜϫʔΫΛ׆༻͢Δ
Part3 ϞμϯPHP WebΞϓϦ έʔγϣϯ։ൃ • 6ষ ΞϓϦέʔγϣϯ։ൃΛ࢝ΊΔͨΊ ͷ४උ • 7ষ
σʔλϕʔεͱΤϯςΟςΟ • 8ষ ίϯτϩʔϥͱϏϡʔ • 9ষ ϑΥʔϜͱσʔλϕʔε
Part4 ػೳͷ࡞ͱ࣮ͷύ λʔϯԽ •10ষ Ϣʔβొ •11ষ ΠςϨʔγϣϯ •12ষ ཧը໘ •13ষ
ίϚϯυϥΠϯεΫϦϓτ •14ষ Ϣχοτςετ •15ষ ػೳςετ
None