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
Symfonyで作る検索フォーム
Search
polidog
PRO
February 27, 2016
Technology
0
900
Symfonyで作る検索フォーム
polidog
PRO
February 27, 2016
Tweet
Share
More Decks by polidog
See All by polidog
小さな開発会社がWebサービスを作る理由
polidog
PRO
1
350
トランザクションスクリプトは何がダメなのか?
polidog
PRO
2
2.4k
React初心者がHooksを理解するためにコードを読んでみた
polidog
PRO
0
400
object-mapperを作ってる話
polidog
PRO
0
240
2020年から始めるSymfonyフレームワーク
polidog
PRO
2
1.1k
はじめてのモダンPHP
polidog
PRO
0
430
ソフトウェア設計は難しくない
polidog
PRO
3
860
柔軟なアプリケーションをSymfonyで作るために考えている事
polidog
PRO
1
2.9k
Symfonyのキャッシュについて
polidog
PRO
2
570
Other Decks in Technology
See All in Technology
Cracking the KubeCon CfP
inductor
2
240
Janus
bkuhlmann
1
490
競技としてのKaggle、役に立つKaggle
yu4u
3
510
「スニダン」開発組織の構造に込めた意図 ~組織作りはパッションや政治ではない!~
rinchsan
3
550
サーバー間 GraphQL と webmock-graphql の話 / server-to-server graphql and webmock-graphql
qsona
2
180
GrafanaMeetup_AmazonManagedGrafanaのアクセス制御機能とマルチテナント環境下でのアクセス制御について
daitak
0
130
自己改善からチームを動かす! 「セルフエンジニアリングマネージャー」のすゝめ
shoota
6
450
Google Cloud Next '24でブログを10本書いた方法と勉強会を沸かせた方法
yasumuusan
0
290
web-application-security
matsuihidetoshi
0
160
Azureの基本的な権限管理の勉強会
yhana
0
270
JAWS-UG Bedrock Claude Night
yamahiro
3
580
コンテナセキュリティの基本と脅威への対策
kyohmizu
3
760
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
14
1.5k
Navigating Team Friction
lara
178
13k
Web Components: a chance to create the future
zenorocha
305
41k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
352
28k
Teambox: Starting and Learning
jrom
128
8.4k
How STYLIGHT went responsive
nonsquared
92
4.8k
GitHub's CSS Performance
jonrohan
1025
450k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
241
1.2M
Ruby is Unlike a Banana
tanoku
96
10k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
155
14k
What's new in Ruby 2.0
geeforr
337
31k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
20
1.9k
Transcript
SymfonyͰ࡞Δ ݕࡧϑΥʔϜ @polidog Symphony Meetup #7
ࣗݾհ • @polidog • λϏΟίϜגࣜձࣾͰSymfonyॻ͍ͯ·͢ • Ξϧίʔϧ͕େ͖Ͱ͢ • ࠷ۙAndroidָ͍͠Ͱ͢
ݕࡧϑΥʔϜͲ͏࡞ͬͯ·͢ ͔ʁ
None
SymfonyͰͷݕࡧϑΥʔϜ • SymfonyͷϑΥʔϜػೳͳΜͯΘͳ͍Αʂ • SymfonyͷϑΥʔϜػೳΛར༻ͯ͠ݕࡧ ϑΥʔϜΛ࡞Δʂ
SymfonyͷFormػೳΛͬ ͨ΄͏͕ศརͰ͢ΑͶɻ
࠷࣮͍ۙͯ͠Δํ๏ͷ αϯϓϧ༻ҙ͠·ͨ͠ɻ https://github.com/polidog/symfony_sample_todo
͜ΕΑΓྑ͍࣮ํ๏͋ͬͨ Βڭ͍͑ͯͩ͘͞ɻ
ϦϙδτϦ ϑΥʔϜ ݕࡧ݅ੜ Ϋϥε ϦϙδτϦʹ͢ ੜ͢Δ
༻͍ͯ͠ΔओͳϥΠϒϥϦ • ϖʔδωʔγϣϯKnpPaginationBundleͰ ߦ͏ • JMSDiExtraBundleΛར༻͍ͯ͠Δ • Domain-kata͍ͬͯ·͢
࣮खॱ 1. ݕࡧ݅Λੜ͢ΔΫϥεΛ༻ҙ͢Δ 2. ݕࡧ༻ͷFormTypeΛ࡞͢Δ 3. ϦϙδτϦʹݕࡧ݅Λੜ͢ΔΦϒδΣΫ τΛͯ͠QueryΦϒδΣΫτΛऔಘ͢Δ 4. ݕࡧϖʔδΛ࡞Δ
1.ݕࡧ݅Λੜ͢Δ ΫϥεΛ༻ҙ͢Δ
ϙΠϯτ • ݕࡧ݅Λੜ͢Δϝιου(build)Λ࣮ • ݕࡧ݅CriteriaΛར༻͢Δ • ϑΝΠϧʮsrc/AppBundle/Search/ TodoListʯͱ͢Δ
2. ݕࡧ༻ͷFormTypeΛ࡞ ͢Δ
ϙΠϯτ • configureOptionͰʮmethod => “GET”ʯΛ ࢦఆ͢Δ • csrf_protectionfalseʹ͓ͯ͘͠
3.ϦϙδτϦʹݕࡧ݅Λ ੜ͢ΔΦϒδΣΫτΛ ͯ͠ɺ QueryΦϒδΣΫτΛ औಘ͢Δ
ϙΠϯτ • ϦϙδτϦʹgetPaginationQuery()ͱ͍͏ϝ ιουΛ࣮ • ൚༻తʹ͑ΔΑ͏ʹTraitͰ࣮͢Δ
4. ݕࡧϖʔδΛ࡞Δ
ϙΠϯτ • ͍ͭ௨ΓϑΥʔϜΛ࣮͢Δ͙Β͍ • ಛʹؾΛ͚ͭΔͳͲͳ͍
·ͱΊ • ݕࡧ݅ΛѲ͍͢͠ • ίϯτϩʔϥͷ࣮͕ബ͘ͳΔ • DBͷΧϥϜ͕ϦϙδτϦͷ֎ʹ͋Δͷ͕ҧ ײΛײ͡Δɻ • Join͕ൃੜ͢Δ߹Ͳ͏͠Α͏ɾɾɾ
ϝϦοτ σϝϦοτ
͜ΕΑΓྑ͍࣮ํ๏͋ͬͨ Βڭ͍͑ͯͩ͘͞ɻ
͓͠·͍ɻ