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
6.5k
5
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Symfony2を1年間実践で使ってみて学んだこと
PHPカンファレンス北海道
2012.04.21
Katsuhiro Ogawa
April 21, 2012
More Decks by Katsuhiro Ogawa
See All by Katsuhiro Ogawa
新規プロダクト開発に伴う既存マイクロサービスのリアーキテクティングとその後
fivestar
1
170
Goで学ぶSOLID原則
fivestar
0
450
メルカリ CSE チームの 歩みと取り組み / Steps and Tries in the CSE team for Mercari
fivestar
2
990
Go in Corporate Solutions Engineering
fivestar
0
2.6k
いつまでPHP 5.x使ってるの
fivestar
1
2.1k
PHP のドキュメントを読んで PHP のことをもっと知ろう
fivestar
1
3.4k
CrocosSecurityBundleを Symfony3.0に対応した話
fivestar
0
330
PHP BLT だけど HTML5 の コンテンツモデルのお話
fivestar
0
2.5k
THE NEW "PERFECT PHP" WILL BE COMING SOON
fivestar
0
8.2k
Other Decks in Programming
See All in Programming
Apache Hive: そしてCloud Native Lakehouseへ
okumin
1
210
継続モナドとリアクティブプログラミング
yukikurage
3
690
関東Kaggler会_NVIDIA_Nemotron_コンペ_振り返り
rick_ds
0
430
源内ハンズオン概要編
hideg
0
100
改善しないと、タスクが回らない。 “てんこ盛りポジション” を引き継いだ情シスの、入社3ヶ月の業務改善録
krm963
0
260
Japan Community Day at Kubecon + CloudNativeCon Japan 2026: Learning Container Privilege Control by Building My Own Low-Level Container Runtime
ternbusty
1
140
Claude Code全社展開のためにやったことn選~プラグイン302個・コミッター271人を支えるために~
kenchan
5
1.4k
ここ半年くらいでAIに作らせたR用ツール
eitsupi
0
370
【やさしく解説 設計編・中級 #1】一つの車に、運転手は一人 ~ある倉庫システムの事例から~
panda728
PRO
0
200
php-fpmのプロセスが枯渇した日-調査・対処・そして本当にやるべきだったこと-
shibuchaaaan
0
230
ITヒヤリハットを整理してみた ~ライフサイクルと原因から考える再発防止策~
koukimiura
1
140
アルゴリズムは何を圧縮しているのか ─ Haskell から育った「圧縮代数」というメンタルモデル
naoya
16
3.9k
Featured
See All Featured
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.9k
The SEO identity crisis: Don't let AI make you average
varn
0
530
Marketing to machines
jonoalderson
1
5.6k
Google's AI Overviews - The New Search
badams
0
1.1k
The Language of Interfaces
destraynor
162
27k
Practical Orchestrator
shlominoach
191
12k
Building AI with AI
inesmontani
PRO
1
1.1k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
240
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
460
Git: the NoSQL Database
bkeepers
PRO
432
67k
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