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
今こそCakePHP3に乗り換えよう!/php_conference_fukuoka_2016
Search
sakuragawa
May 24, 2016
Programming
0
1.1k
今こそCakePHP3に乗り換えよう!/php_conference_fukuoka_2016
今こそCakePHP3に乗り換えよう!
sakuragawa
May 24, 2016
Tweet
Share
More Decks by sakuragawa
See All by sakuragawa
CircleCI APIでプチ効率化
sakuragawa
1
560
PHP + GitHub + Azure Functions = ?
sakuragawa
0
240
CakePHP2と3の違い
sakuragawa
8
4.8k
Other Decks in Programming
See All in Programming
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
390
Navigating Dependency Injection with Metro
zacsweers
3
1k
FindyにおけるTakumi活用と脆弱性管理のこれから
rvirus0817
0
520
Deep Dive into Kotlin Flow
jmatsu
1
350
知っているようで知らない"rails new"の世界 / The World of "rails new" You Think You Know but Don't
luccafort
PRO
1
160
請來的 AI Agent 同事們在寫程式時,怎麼用 pytest 去除各種幻想與盲點
keitheis
0
120
旅行プランAIエージェント開発の裏側
ippo012
2
910
テストコードはもう書かない:JetBrains AI Assistantに委ねる非同期処理のテスト自動設計・生成
makun
0
350
AIでLINEスタンプを作ってみた
eycjur
1
230
Design Foundational Data Engineering Observability
sucitw
3
200
アプリの "かわいい" を支えるアニメーションツールRiveについて
uetyo
0
270
そのAPI、誰のため? Androidライブラリ設計における利用者目線の実践テクニック
mkeeda
2
310
Featured
See All Featured
How to Think Like a Performance Engineer
csswizardry
26
1.9k
Music & Morning Musume
bryan
46
6.8k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.6k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
What's in a price? How to price your products and services
michaelherold
246
12k
Being A Developer After 40
akosma
90
590k
Raft: Consensus for Rubyists
vanstee
140
7.1k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
13k
Rails Girls Zürich Keynote
gr2m
95
14k
Mobile First: as difficult as doing things right
swwweet
224
9.9k
Transcript
今こそCakePHP3に乗り換えよう! 2016/5/21
自己紹介 株式会社Fusic 技術開発部 マネージャー 櫻川 幸三 https://github.com/kozo https://github.com/fusic http://qiita.com/kozo http://qiita.com/organizations/fusic
CakePHP利用歴:8年程度(CakePHP1.1から) 2
3 使ってますか?
4 CakePHP3に 移行するメリットあるの?
6 5つのおすすめポイント!
1. QueryBuilder CakePHP2 7 $query = [ ‘conditions’ => [
‘条件A’, ‘条件B’ ], ‘order’ => [ ‘ソート条件A’, ‘ソート条件B’ ], ‘fields’ => [‘取得フィールド’] ] $this->User->find(‘all’, $query); $this->Users->find() ->where(条件A) ->where(条件B) ->order(ソート条件A) ->order(ソート条件B) ->select(取得フィールド) ->all(); • CakePHP3 配列地獄からは解消される!
2. QueryBuilder 8 複雑なSQLもかけるようになった 例) hasMany先のテーブルに条件をかける matching
2. QueryBuilder 9 複雑なSQLもかけるようになった 例) hasMany先のテーブルに条件をかける
3. Table、Entity Table DBのテーブルへアクセスする処理を主に書く CakePHP2のModelクラスに近い動きをする 10 • Entity • DBのテーブル1レコードを表す
• カラムのデータ自体の加工等を担当する • CakePHP2までのModelクラスが、 TableとEntityの2つに分離された Tableクラス Entityクラス
4. HTMLの修正が非常に楽! 11
5. namespace やっとnamespaceに対応した! 12
28 プラグイン
fusic/Apollon 29 Installation composer require fusic/Apollon ひらがな、カタカナ、電話番号といったような基本的なバリデー ションルールをまとめているValidationクラス
fusic/encount 30 本番環境等でwarningやnotice、faital等のエラーが出た場合 にメール等で通知してくれるプラグイン Senderクラスを自作することで通知方法をSlack等、メール以 外に変更することが可能 Installation composer require fusic/encount
kozo/Partial 31 同一コントローラー内で使える小さいスコープのテンプレート Installation composer require kozo/Partial 新規登録画面 編集画面 add.ctp
edit.ctp _form.ctp 共通する部分を 別ファイルにしておき Partialで読み込む
まとめ CakePHP3は 非常にパワフルで拡張性の高い フレームワークになりました。 他にも色々便利な機能があります。 興味ある人は是非、使っていきましょう! 36
ご清聴ありがとうございました Fusicはテクノロジーが 好きなエンジニアを募集しています https://fusic.github.io 37
ご清聴ありがとうございました Fusicはテクノロジーが 好きなエンジニアを募集しています https://fusic.github.io 49