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
未経験で入った新卒が、CakePHP にPR出してMerge された話
Search
gorogoroyasu
February 27, 2017
Programming
1
260
未経験で入った新卒が、CakePHP にPR出してMerge された話
gorogoroyasu
February 27, 2017
Tweet
Share
More Decks by gorogoroyasu
See All by gorogoroyasu
phpconf_fukuoka_sponsor_session.pdf
gorogoroyasu
1
4.1k
ガラケーの世界
gorogoroyasu
1
1.8k
Other Decks in Programming
See All in Programming
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
640
Go言語はstack overflowの夢を見るか?
logica0419
0
670
AI Agent 時代的開發者生存指南
eddie
4
2.2k
はじめてのDSPy - 言語モデルを『プロンプト』ではなく『プログラミング』するための仕組み
masahiro_nishimi
4
17k
AI駆動開発カンファレンスAutumn2025 _AI駆動開発にはAI駆動品質保証
autifyhq
0
100
React Nativeならぬ"Vue Native"が実現するかも?_新世代マルチプラットフォーム開発フレームワークのLynxとLynxのVue.js対応を追ってみよう_Vue Lynx
yut0naga1_fa
2
1.9k
Register is more than clipboard
satorunooshie
1
210
組込みだけじゃない!TinyGo で始める無料クラウド開発入門
otakakot
2
380
When Dependencies Fail: Building Antifragile Applications in a Fragile World
selcukusta
0
120
CSC305 Lecture 13
javiergs
PRO
0
330
開発組織の戦略的な役割と 設計スキル向上の効果
masuda220
PRO
10
2k
Ktorで簡単AIアプリケーション
tsukakei
0
120
Featured
See All Featured
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
10
640
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.1k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
Product Roadmaps are Hard
iamctodd
PRO
55
11k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
253
22k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
Designing Experiences People Love
moore
142
24k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
A designer walks into a library…
pauljervisheath
209
24k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
2.9k
How to train your dragon (web standard)
notwaldorf
97
6.3k
Transcript
ະܦݧͰೖͬͨ৽ଔ͕ɺ CakePHP ʹPR ग़ͯ͠ Merge ͞Εͨ 2017/02/27 Fukuoka.php vol.21
ࣗݾհ ໊લ : ᖛ ହ໌ ɹɹ : @gorogoroyasu ɹɹ :
gorogoroyasu ɹɹ : ᖛ ହ໌ גࣜձࣾ Fusic ٕज़։ൃ෦ ج൫Ϣχοτ 2016 ৽ଔ
ࣗݾհ 2016 ৽ଔ ࣮ɺ3݄ೖࣾͳͷͰɺ ໌ޙ͔Β2Ͱ͢ɻ มͰ͢Ͷɻ
ൃද͢Δ͜ͱʹͳͬͨܦҢ
ॳΊͯͷൃද ҙ PHP ʹ͍ͭͯ͢ͷॳΊͯͰ͢ɻ ؒҧͬͨ͜ͱΛݴ͏͔͠Ε·ͤΜɻ ؒҧͬͯͨΒɺͦͷͰࢦఠ͍ͯͩ͘͠͞ɻ
http://fusic-kiban.hatenablog.com/ ΑΓ “cakephp/cakephp ʹPR ग़ͯ͠merge ͞Εͨ” (CakePHP3 AdventCalendar 24)
https://github.com/cakephp/cakephp/pull/9849
ͱ͍͏͜ͱͰɺ 1. ԿΛͨ͠ͷ͔ʁ 2. Ͳ͏ͨ͠ͷ͔ʁ 3. ͳͥى͍ͬͯͨ͜ͷ͔ʁ 4. ϨϏϡϫʔͱͷΓͱΓʁ ͱ͍ͬͨΛ͠Α͏ͱࢥ͍·͢ɻ
1. ԿΛͨ͠ͷ͔ʁ ԿΛͨ͠ͷ͔ʹ͍ͭͯɺ issue ͷλΠτϧʹॻ͍ͯ͋Γ·͢ɻ https://github.com/cakephp/cakephp/issues/9848 maxLimit is ignored in
PaginatorComponent.php
maxLimit is ignored in PaginatorComponent.php maxLimit͕ޮ͍ͯͳ͍Αʂʂʂ
maxLimit is ignored in PaginatorComponent.php maxLimit͕ޮ͍ͯͳ͍Αʂʂʂ maxLimit ബҗо হʂʂʂ
maxLimit is ignored in PaginatorComponent.php maxLimit͕ޮ͍ͯͳ͍Αʂʂʂ maxLimit ബҗо হʂʂʂ maxLimit
belum bekerja !!
maxLimit͕ޮ͍ͯͳ͍Αʂʂʂ ͋Δϖʔδ ࣍ 1ݸ 2ݸ 3ݸ 4ݸ 5ݸ 6ݸ 7ݸ
8ݸ 9ݸ 10ݸ 11ݸ 12ݸ 13ݸ 14ݸ 15ݸ 16ݸ 17ݸ 18ݸ 19ݸ 20ݸ લ limit => ͦͷϖʔδʹදࣔ͢Δ݅ maxLimit => ͦͷϖʔδʹදࣔͰ͖Δ ࠷େͷ݅
[ “limit” => 25, “maxLimit” => 20, ] ϖʔδωʔτͷ “limit“
͕25ʹͳΔ maxLimit͕ޮ͍ͯͳ͍Αʂʂʂ
2. Ͳ͏ͨ͠ͷ͔ʁ Ͳ͏ͨ͠ͷ͔ɺdiff ʹॻ͍ͯ͋Γ·͢ɻ ͜͜Ͱɺ؆୯ʹઆ໌͢ΔͨΊɺৄࡉল͖·͢ɻ ݩͷίʔυ public function getDefaults($alias, $defaults)
{ if (݅) { $defaults[‘maxLimit’] = $defaults[‘limit’]; } }
$defaults[‘maxLimit’] = $defaults[‘limit’]; $defaults[‘limit’] = $defaults[‘maxLimit’]; ͍͔ͭ͘ͷ݅ॻ͖·͕ͨ͠ɺ ͬ͘͟Γ͍͏ͱɺ ͜Μͳײ͡Ͱ͠·ͨ͠ɻ 2.
Ͳ͏ͨ͠ͷ͔ʁ(ଓ)
CakePHP2 ͷࠒʹόάͬͯͯɺ CakePHP3 Ҡߦ࣌ʹComponent ͕ͦͬ͘ΓҠ২͞Εͨɻ ͷͰͳ͍͔ͱࢥͬͯΔɻ (Blame ͨ͠Βɺߋ৽͕2લ͔ͩͬͨΒɻ) ͷͰɺൺֱతϨΞͳόάʹͨͬͨͷͩͱࢥ͏ɻ 3.
ͳͥىͬͨ͜ͷ͔ʁ
4. ϨϏϡϫʔͱͷΓͱΓʁ શ෦ӳޠͰͨ͠ɻ ͦͯ͠ɺΊͬͪΌGoogle ༁ʹ͓ੈʹͳΓ·ͨ͠ɻ
ϨϏϡϫʔͱͷΓͱΓʁ ͪͳΈʹɺϨϏϡϫʔͱͷΓऔΓͰɺ Ұ൪ා͔ͬͨͷ͕͜ΕͰ͢ɻ
ϨϏϡϫʔͱͷΓͱΓʁ Կ͕ා͔͔ͬͨͱ͍͏ͱɺ ίʔυܾͯ͠$ defaults + $ configͷΑ͏ͳͷΛ͖࣋ͭͰ͋Γ·ͤΜɻ ఆٛʹΑΔ$ configɺϚʔδ༏ઌͷ$ defaultΑΓߴ͍ඞཁ͕͋Γ·͢ɻ
ͦͯ͠ɺਖ਼ରͰ͢ɻ ࢲͦΕ͕͜͜ͰͦΕΛԋ͢Δ͔͠Εͳ͍ͱࢥ͏ɻ ͍ͣΕʹͯ͠ɺ͜͜ͰมΛमਖ਼͢Δඞཁ͕͋Γ·͢ ʢ໊લΛࢦఆ͢Δ͚ͩͰɺ$ defaultʹ͋Δͷ$ configΑΓߴ͍ʣͷͰɺ কདྷͷࠞཚΛආ͚Δ͜ͱ͕Ͱ͖·͢ɻ 1. ౖΒΕͯΔͬΆ͍͜ͱ 2. Google ઌੜ͕ࣄΛ์غͨ͜͠ͱɻ
ϨϏϡϫʔͱͷΓͱΓʁ ͜Μͳ࣌ॿ͚ͯ͘Εͨͷ͕ɺ ຊਓͷCakePHP3 ίϛολͷํͰͨ͠ɻ ਂ1࣌͝Ζ·Ͱ͖߹ͬͯ͘Εͯɺ ແࣄϚʔδ͞Ε·ͨ͠ɻ ݁ہͳΜͰౖΒΕ͍͔ͯͨͱ͍͏ͱɺɺɺ ม໊͕ѱ͍ɻ ͱ͍͏͜ͱͰͨ͠ɻɻɻ
ϨϏϡϫʔͱͷΓͱΓʁ ݁ہͳΜͰౖΒΕ͍͔ͯͨͱ͍͏ͱɺɺɺ ม໊͕ѱ͍ɻ ͱ͍͏͜ͱͰͨ͠ɻɻɻ Զɺม໊ม͑ͯͳ͍Μ͚ͩͲɻɻɻɻɻɻɻ ͨͩɺ͜ͷݫ͕͠͞ϓϩμΫτΛ ”վળ”͍ͯ͘͠ͱ͍͏͜ͱͳͷͩͱࢥ͍·͢ɻ
ֶΜͩ͜ͱ ͱ͍͏͜ͱͰɺز͔ͭͷ͜ͱΛֶͼ·ͨ͠ɻ 1. େ͖ͳϓϩδΣΫτʹόά͋Δɻ 2. όάΛमਖ਼͢Δͷɺ؆୯ͳ͜ͱ͕͋Δɻ 3. ະܦݧɾ৽ଔͰPR Λग़ͤΔʂʂʂ 4.
CakePHP3 ͷຊίϛϡχςΟͷ͋Γ͕ͨ͞ɻ
CakePHP3 ͷSlack νϟϯωϧ ͙͙ͬͯΈ͍ͯͩ͘͞ʂ
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ
࠷ޙʹએ Fusic ͰɺΤϯδχΞΛืू͍ͯ͠·͢ɻ
࠷ޙʹએ Fusic Ͱɺম͕͖ͳΤϯδχΞΛืू͍ͯ͠·͢ɻ
ম෦ 3/24 ɺম෦3݄ͷ׆ಈͰ͢ɻ ࢀՃΛ͝رͷํɺ @gorogoroyasu ·Ͱ͝Ұใ͍ͩ͘͞ɻ ॴɺψϧϘϯେ໊ళ or ϫϯΧϧϏதऱళͰ͢ɻ ͲͪΒ͓͢͢ΊͷমͰ͢ʂ