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.4k
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
140
Goで学ぶSOLID原則
fivestar
0
290
メルカリ CSE チームの 歩みと取り組み / Steps and Tries in the CSE team for Mercari
fivestar
2
880
Go in Corporate Solutions Engineering
fivestar
0
2.4k
いつまでPHP 5.x使ってるの
fivestar
1
1.9k
PHP のドキュメントを読んで PHP のことをもっと知ろう
fivestar
1
3.1k
CrocosSecurityBundleを Symfony3.0に対応した話
fivestar
0
230
PHP BLT だけど HTML5 の コンテンツモデルのお話
fivestar
0
2.3k
THE NEW "PERFECT PHP" WILL BE COMING SOON
fivestar
0
8k
Other Decks in Programming
See All in Programming
Webエンジニア主体のモバイルチームの 生産性を高く保つためにやったこと
igreenwood
0
340
テストコード書いてみませんか?
onopon
2
130
SymfonyCon Vienna 2025: Twig, still relevant in 2025?
fabpot
3
1.2k
競技プログラミングへのお誘い@阪大BOOSTセミナー
kotamanegi
0
360
MCP with Cloudflare Workers
yusukebe
2
220
ある日突然あなたが管理しているサーバーにDDoSが来たらどうなるでしょう?知ってるようで何も知らなかったDDoS攻撃と対策 #phpcon.2024
akase244
0
130
tidymodelsによるtidyな生存時間解析 / Japan.R2024
dropout009
1
790
快速入門可觀測性
blueswen
0
370
これでLambdaが不要に?!Step FunctionsのJSONata対応について
iwatatomoya
2
3.7k
ゆるやかにgolangci-lintのルールを強くする / Kyoto.go #56
utgwkk
2
390
責務を分離するための例外設計 - PHPカンファレンス 2024
kajitack
6
1.2k
アクターシステムに頼らずEvent Sourcingする方法について
j5ik2o
4
290
Featured
See All Featured
Building an army of robots
kneath
302
44k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
28
900
A designer walks into a library…
pauljervisheath
204
24k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Building Adaptive Systems
keathley
38
2.3k
GitHub's CSS Performance
jonrohan
1030
460k
Building Your Own Lightsaber
phodgson
103
6.1k
The Language of Interfaces
destraynor
154
24k
Making Projects Easy
brettharned
116
5.9k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
How to train your dragon (web standard)
notwaldorf
88
5.7k
How GitHub (no longer) Works
holman
311
140k
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