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
940
Symfonyで作る検索フォーム
polidog
February 27, 2016
Tweet
Share
More Decks by polidog
See All by polidog
小さな開発会社を作った理由
polidog
1
2.2k
小さな開発会社がWebサービスを作る理由
polidog
1
480
トランザクションスクリプトは何がダメなのか?
polidog
2
2.8k
React初心者がHooksを理解するためにコードを読んでみた
polidog
0
460
object-mapperを作ってる話
polidog
0
280
2020年から始めるSymfonyフレームワーク
polidog
2
1.2k
はじめてのモダンPHP
polidog
0
520
ソフトウェア設計は難しくない
polidog
3
920
柔軟なアプリケーションをSymfonyで作るために考えている事
polidog
1
2.9k
Other Decks in Technology
See All in Technology
Evolving DevOps Teams and Flexible Organizational Culture
kakehashi
1
260
LandingZoneAccelerator と学ぶ 「スケーラブルで安全なマルチアカウントAWS環境」と 私たちにもできるベストプラクティス
maimyyym
1
130
スタッフエンジニアの道: The Staff Engineer’s Path
snoozer05
PRO
39
13k
忙しい人のためのLangGraph概要まとめ
__ymgc__
1
150
Fediverse Discovery Providers overview
andypiper
0
120
AIで変わるテスト自動化:最新ツールの多様なアプローチ/ 20240910 Takahiro Kaneyama
shift_evolve
0
200
OCI で始める!! Red Hat OpenShift / Get Started OpenShift on OCI
oracle4engineer
PRO
1
130
SAVEPOINT α版
savepoint
0
640
DuckDB雑紹介(1.1対応版)@DuckDB座談会
ktz
5
1.2k
スーパーマリオRPGのリメイク版の変更点からみるUX
nishiharatsubasa
1
330
アプリをリリースできる状態に保ったまま 段階的にリファクタリングするための 戦略と戦術 / Strategies and tactics for incremental refactoring
yanzm
6
730
Road to Single Activity
yurihondo
1
190
Featured
See All Featured
Why Our Code Smells
bkeepers
PRO
334
56k
Principles of Awesome APIs and How to Build Them.
keavy
125
16k
Design by the Numbers
sachag
277
19k
Making the Leap to Tech Lead
cromwellryan
128
8.8k
How GitHub (no longer) Works
holman
310
140k
Creatively Recalculating Your Daily Design Routine
revolveconf
215
12k
Fireside Chat
paigeccino
31
2.9k
Code Review Best Practice
trishagee
62
16k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
26
1.9k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
27
7.4k
Into the Great Unknown - MozCon
thekraken
28
1.4k
Robots, Beer and Maslow
schacon
PRO
157
8.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͕ൃੜ͢Δ߹Ͳ͏͠Α͏ɾɾɾ
ϝϦοτ σϝϦοτ
͜ΕΑΓྑ͍࣮ํ๏͋ͬͨ Βڭ͍͑ͯͩ͘͞ɻ
͓͠·͍ɻ