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
February 27, 2016
Technology
0
970
Symfonyで作る検索フォーム
polidog
February 27, 2016
Tweet
Share
More Decks by polidog
See All by polidog
小さな開発会社を作った理由
polidog
1
2.4k
小さな開発会社がWebサービスを作る理由
polidog
1
510
トランザクションスクリプトは何がダメなのか?
polidog
2
2.9k
React初心者がHooksを理解するためにコードを読んでみた
polidog
0
480
object-mapperを作ってる話
polidog
0
290
2020年から始めるSymfonyフレームワーク
polidog
2
1.2k
はじめてのモダンPHP
polidog
0
550
ソフトウェア設計は難しくない
polidog
3
950
柔軟なアプリケーションをSymfonyで作るために考えている事
polidog
1
3k
Other Decks in Technology
See All in Technology
SSMRunbook作成の勘所_20241120
koichiotomo
2
150
Amazon Personalizeのレコメンドシステム構築、実際何するの?〜大体10分で具体的なイメージをつかむ〜
kniino
1
100
10XにおけるData Contractの導入について: Data Contract事例共有会
10xinc
6
650
開発生産性を上げながらビジネスも30倍成長させてきたチームの姿
kamina_zzz
2
1.7k
AWS Lambdaと歩んだ“サーバーレス”と今後 #lambda_10years
yoshidashingo
1
170
ISUCONに強くなるかもしれない日々の過ごしかた/Findy ISUCON 2024-11-14
fujiwara3
8
870
rootlessコンテナのすゝめ - 研究室サーバーでもできる安全なコンテナ管理
kitsuya0828
3
390
障害対応指揮の意思決定と情報共有における価値観 / Waroom Meetup #2
arthur1
5
480
Lexical Analysis
shigashiyama
1
150
20241120_JAWS_東京_ランチタイムLT#17_AWS認定全冠の先へ
tsumita
2
280
Zennのパフォーマンスモニタリングでやっていること
ryosukeigarashi
0
100
Platform Engineering for Software Developers and Architects
syntasso
1
520
Featured
See All Featured
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
890
Unsuck your backbone
ammeep
668
57k
GraphQLの誤解/rethinking-graphql
sonatard
67
10k
Statistics for Hackers
jakevdp
796
220k
A Tale of Four Properties
chriscoyier
156
23k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
The Pragmatic Product Professional
lauravandoore
31
6.3k
Building a Scalable Design System with Sketch
lauravandoore
459
33k
Designing Experiences People Love
moore
138
23k
Optimising Largest Contentful Paint
csswizardry
33
2.9k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
47
2.1k
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͕ൃੜ͢Δ߹Ͳ͏͠Α͏ɾɾɾ
ϝϦοτ σϝϦοτ
͜ΕΑΓྑ͍࣮ํ๏͋ͬͨ Βڭ͍͑ͯͩ͘͞ɻ
͓͠·͍ɻ