Slide 1

Slide 1 text

今こそCakePHP3に乗り換えよう! 2016/5/21

Slide 2

Slide 2 text

自己紹介 株式会社Fusic 技術開発部 マネージャー 櫻川 幸三 https://github.com/kozo https://github.com/fusic http://qiita.com/kozo http://qiita.com/organizations/fusic CakePHP利用歴:8年程度(CakePHP1.1から) 2

Slide 3

Slide 3 text

3 使ってますか?

Slide 4

Slide 4 text

4 CakePHP3に 移行するメリットあるの?

Slide 5

Slide 5 text

6 5つのおすすめポイント!

Slide 6

Slide 6 text

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 配列地獄からは解消される!

Slide 7

Slide 7 text

2. QueryBuilder 8 複雑なSQLもかけるようになった 例) hasMany先のテーブルに条件をかける matching

Slide 8

Slide 8 text

2. QueryBuilder 9 複雑なSQLもかけるようになった 例) hasMany先のテーブルに条件をかける

Slide 9

Slide 9 text

3. Table、Entity Table DBのテーブルへアクセスする処理を主に書く CakePHP2のModelクラスに近い動きをする 10 • Entity • DBのテーブル1レコードを表す • カラムのデータ自体の加工等を担当する • CakePHP2までのModelクラスが、 TableとEntityの2つに分離された Tableクラス Entityクラス

Slide 10

Slide 10 text

4. HTMLの修正が非常に楽! 11

Slide 11

Slide 11 text

5. namespace やっとnamespaceに対応した! 12

Slide 12

Slide 12 text

28 プラグイン

Slide 13

Slide 13 text

fusic/Apollon 29 Installation composer require fusic/Apollon ひらがな、カタカナ、電話番号といったような基本的なバリデー ションルールをまとめているValidationクラス

Slide 14

Slide 14 text

fusic/encount 30 本番環境等でwarningやnotice、faital等のエラーが出た場合 にメール等で通知してくれるプラグイン Senderクラスを自作することで通知方法をSlack等、メール以 外に変更することが可能 Installation composer require fusic/encount

Slide 15

Slide 15 text

kozo/Partial 31 同一コントローラー内で使える小さいスコープのテンプレート Installation composer require kozo/Partial 新規登録画面 編集画面 add.ctp edit.ctp _form.ctp 共通する部分を 別ファイルにしておき Partialで読み込む

Slide 16

Slide 16 text

まとめ CakePHP3は 非常にパワフルで拡張性の高い フレームワークになりました。 他にも色々便利な機能があります。 興味ある人は是非、使っていきましょう! 36

Slide 17

Slide 17 text

ご清聴ありがとうございました Fusicはテクノロジーが 好きなエンジニアを募集しています https://fusic.github.io 37

Slide 18

Slide 18 text

ご清聴ありがとうございました Fusicはテクノロジーが 好きなエンジニアを募集しています https://fusic.github.io 49