SlideShare ist ein Scribd-Unternehmen logo
1 von 27
2016/03/31 稲村
CakePHP3 使ってみて
まず、CakePHP3 を
簡単に紹介
CakePHP3 を簡単に紹介①
● 進化度
Cake1 ➔ Cake2 ➔➔➔➔➔➔ Cake3
CakePHP3 を簡単に紹介②
● Composer対応
● PHP5.4以上必須
● 名前空間、トレイトなど、新しめの言語機能使
用
● コーディング規約としてPSR-2準拠
→クラスやメソッド定義の括弧位置に注意
CakePHP3 を簡単に紹介③
● コントローラ、ビューはあまり変化なし
● モデルクラスの動作が大幅に変更
→データは連想配列からオブジェクトへ
→モデルは2つに分離
→Tableクラス : DB処理などのロジックを書く
→Entityクラス : 扱うデータのクラス
CakePHP3 を簡単に紹介④
● モデルクラスの動作が大幅に変更
→Tableクラスで、Entityオブジェクトを扱う
→Tableクラスは、クエリビルダと呼ばれるイ
ンターフェースで、DBクエリを実行
データは連想配列からオブジェクトへ
<ul>
<?php
foreach ($users as $user) {
echo '<li>' . h($user['use_id']) . '</li>';
echo '<li>' . h($user['name']) . '</li>';
}
?>
</ul>
データは連想配列からオブジェクトへ
<ul>
<?php
foreach ($users as $user) {
echo '<li>' . h($user->use_id) . '</li>';
echo '<li>' . h($user->name') . '</li>';
}
?>
</ul>
CakePHP3 の良いところ
良いところ①
● 今どきの楽なパッケージ管理
● 今どきの「コンポーネント指向」
→外部フレームワークのコンポーネントを柔軟に利用
● 今どきの楽なPHP記法
➔古い技術、更新されない古いライブラリなど
に振り回されない
良いところ②
● 今どきのコーディング規約
● シンプルなディレクトリ/ファイル構成
➔チーム開発に適している
良いところ③
● DBアクセスを抑えられる
→クエリビルダは、クエリを作るだけで、ク
エリ実行は、参照時に行われる(もちろん明示
的にクエリ実行もできる)
➔使うデータだけのクエリ実行で済む
つまり、最小限のクエリ実行で済む
CakePHP3 を使って
思ったこと
CakePHP3 を使って思ったこと①
● 便利なライブラリ、新サービスのAPIに高速で
対応するには、新しい技術を使うと有利
CakePHP3 を使って思ったこと②
● ただ、技術の進化は速い
● さらに、今後の主要技術がどうなるかわからな
い
CakePHP3 を使って思ったこと③
● 個々の言語、フレームワーク、バージョンに固
執しない方が良い
● 別の言語やフレームワークに移行しやすい身軽
なシステムを設計すべき
CakePHP3 を使って思ったこと④
● フレームワーク特有の記述が各コードが分散す
ると、そのフレームワーク上でしか価値がない
コードになってしまう
● ラップ関数に特殊なコードを閉じ込めるなどし
て、汎用的なコードで実装するとか、そういう
ことを意識しておくといいかも…
そうえいば、いい記事があ
ったのを思い出した
「社員がフリーランスになる前に教えておきたいこと」
http://fladdict.net/blog/2014/11/syain.html
「スキルや自己投資には賞味期限があります。
「明日から使えるクールなCSSエフェクト30」
みたいなものに投資をするのはやめなさい。そ
れは消耗品のスキルです。優先すべきは多分野
で応用がきくような、賞味期限の長いスキルで
す。…(略)…思考の組み立て、意思決定、観
察眼の精度…そういったものに投資をしなさ
い。」
「優先すべきは賞味期限の長いスキル」
● CakePHP3 を使うとして、リクエストパラメ
ータの取り方はこうだとか、DBアクセスの仕方
はこうだとか、はあまり重要でない
● ここで重要視すべきなのは、特定のではなく一
般的なフレームワークの仕組み、使い方、設計
思想、デザインパターンなど、もっと基礎的な
スキル
そうえいば、ダーウィンが
いいこと言ってたのを
思い出した
最も強い者が生き残るのではなく、
最も賢い者が生き延びるのでもない。
唯一生き残ることが出来るのは、
変化できる者である。
ダーウィンの名言(※どんな意図かは諸説あり)
http://www.kumamoto-u.ac.jp/daigakujouhou/gakuchoushitu/2006/20060410
例えば、某演歌歌手に学ぶ①
● 所属事務所と喧嘩?して、芸能界を干されてテレビに出ら
れなくなった
● 紅白にも出た大物歌手なのに、プライド捨てて、まさかの
ニコニコ動画に活路を見出して、まさかの再ブレイク
● で、まさかの紅白に復活。。。
例えば、某演歌歌手に学ぶ②
● ここで言いたいのは、状況が悪くなったら、安易にキャリ
アチェンジしてよいとか、そんな乱暴な話でない
● 某演歌歌手は、「歌手」という賞味期限の長い優れたスキ
ルを持っていた
● そのスキルを持った上で、居場所をテレビからニコニコ動
画に変化させて、再ブレイクできた
まとめ
まとめ
● CakePHP3はいい感じに進化
● 新しい技術は有利
● 技術の進化は速いので、特定の技術に固執すべきでない
● 身につけるべきは賞味期限の長いスキル
● 賞味期限の長いスキルを持った上で、変化に対応できると
生き残れる(サンプル:某演歌歌手)
終わり

Weitere ähnliche Inhalte

Was ist angesagt? (10)

基礎構文班 6回目 復習回答え編はあとで
基礎構文班 6回目 復習回答え編はあとで基礎構文班 6回目 復習回答え編はあとで
基礎構文班 6回目 復習回答え編はあとで
 
Web講座 第9回
Web講座 第9回Web講座 第9回
Web講座 第9回
 
Shibuya Pm Tt08 Advanced Mogilefs
Shibuya Pm Tt08 Advanced MogilefsShibuya Pm Tt08 Advanced Mogilefs
Shibuya Pm Tt08 Advanced Mogilefs
 
【学習メモ#9th】12ステップで作る組込みOS自作入門
【学習メモ#9th】12ステップで作る組込みOS自作入門 【学習メモ#9th】12ステップで作る組込みOS自作入門
【学習メモ#9th】12ステップで作る組込みOS自作入門
 
#mailerstudy 01 LT POP/IMAP入門
#mailerstudy 01 LT POP/IMAP入門#mailerstudy 01 LT POP/IMAP入門
#mailerstudy 01 LT POP/IMAP入門
 
後期第六回ネットワークチーム講座資料
後期第六回ネットワークチーム講座資料後期第六回ネットワークチーム講座資料
後期第六回ネットワークチーム講座資料
 
Tramp mode
Tramp modeTramp mode
Tramp mode
 
新生Lagopus2017(仮称)
新生Lagopus2017(仮称)新生Lagopus2017(仮称)
新生Lagopus2017(仮称)
 
YAPC::Asia Tokyo 2013 ランチセッション
YAPC::Asia Tokyo 2013 ランチセッションYAPC::Asia Tokyo 2013 ランチセッション
YAPC::Asia Tokyo 2013 ランチセッション
 
NanoStrand
NanoStrandNanoStrand
NanoStrand
 

Ähnlich wie CakePHP3使ってみて

CakePHP最新情報 PHPカンファレンス関西2012
CakePHP最新情報 PHPカンファレンス関西2012CakePHP最新情報 PHPカンファレンス関西2012
CakePHP最新情報 PHPカンファレンス関西2012
ichikaway
 
CakePHP - The point of upgrade
CakePHP - The point of upgradeCakePHP - The point of upgrade
CakePHP - The point of upgrade
Yasuo Harada
 
プロとしてのOracleアーキテクチャ入門 ~番外編~
プロとしてのOracleアーキテクチャ入門 ~番外編~プロとしてのOracleアーキテクチャ入門 ~番外編~
プロとしてのOracleアーキテクチャ入門 ~番外編~
ryouta watabe
 
C16 45分でわかるPostgreSQLの仕組み by 山田努
C16 45分でわかるPostgreSQLの仕組み by 山田努C16 45分でわかるPostgreSQLの仕組み by 山田努
C16 45分でわかるPostgreSQLの仕組み by 山田努
Insight Technology, Inc.
 

Ähnlich wie CakePHP3使ってみて (20)

Cakephp勉強会@tokyo #4
Cakephp勉強会@tokyo #4Cakephp勉強会@tokyo #4
Cakephp勉強会@tokyo #4
 
とあるDBAの黒い画面(ターミナル)
とあるDBAの黒い画面(ターミナル)とあるDBAの黒い画面(ターミナル)
とあるDBAの黒い画面(ターミナル)
 
TreeFrog Frameworkの紹介
TreeFrog Frameworkの紹介TreeFrog Frameworkの紹介
TreeFrog Frameworkの紹介
 
CakePHP3入門
CakePHP3入門CakePHP3入門
CakePHP3入門
 
CakePHP最新情報 PHPカンファレンス関西2012
CakePHP最新情報 PHPカンファレンス関西2012CakePHP最新情報 PHPカンファレンス関西2012
CakePHP最新情報 PHPカンファレンス関西2012
 
CakePHP - The point of upgrade
CakePHP - The point of upgradeCakePHP - The point of upgrade
CakePHP - The point of upgrade
 
LancersのCakePHPバージョンアップ施策について
LancersのCakePHPバージョンアップ施策についてLancersのCakePHPバージョンアップ施策について
LancersのCakePHPバージョンアップ施策について
 
PhpStormを使おう --高槻からは快速急行が早くなります #jbugj
PhpStormを使おう --高槻からは快速急行が早くなります #jbugjPhpStormを使おう --高槻からは快速急行が早くなります #jbugj
PhpStormを使おう --高槻からは快速急行が早くなります #jbugj
 
プロとしてのOracleアーキテクチャ入門 ~番外編~
プロとしてのOracleアーキテクチャ入門 ~番外編~プロとしてのOracleアーキテクチャ入門 ~番外編~
プロとしてのOracleアーキテクチャ入門 ~番外編~
 
2019年度 若手技術者向け講座 DBMSの機能
2019年度 若手技術者向け講座 DBMSの機能2019年度 若手技術者向け講座 DBMSの機能
2019年度 若手技術者向け講座 DBMSの機能
 
PHP版レガシーコード改善に役立つ新パターン #wewlc_jp
PHP版レガシーコード改善に役立つ新パターン #wewlc_jp PHP版レガシーコード改善に役立つ新パターン #wewlc_jp
PHP版レガシーコード改善に役立つ新パターン #wewlc_jp
 
PHP基礎勉強会
PHP基礎勉強会PHP基礎勉強会
PHP基礎勉強会
 
C16 45分でわかるPostgreSQLの仕組み by 山田努
C16 45分でわかるPostgreSQLの仕組み by 山田努C16 45分でわかるPostgreSQLの仕組み by 山田努
C16 45分でわかるPostgreSQLの仕組み by 山田努
 
PostgreSQLの連携!クラウド移行!負荷分散!バックアップ!DBMotoで一挙解決!
PostgreSQLの連携!クラウド移行!負荷分散!バックアップ!DBMotoで一挙解決!PostgreSQLの連携!クラウド移行!負荷分散!バックアップ!DBMotoで一挙解決!
PostgreSQLの連携!クラウド移行!負荷分散!バックアップ!DBMotoで一挙解決!
 
2020 acl learning_to_recover_from_multi-modality_errors_for_non-autoregressiv...
2020 acl learning_to_recover_from_multi-modality_errors_for_non-autoregressiv...2020 acl learning_to_recover_from_multi-modality_errors_for_non-autoregressiv...
2020 acl learning_to_recover_from_multi-modality_errors_for_non-autoregressiv...
 
Mk network programmability-03
Mk network programmability-03Mk network programmability-03
Mk network programmability-03
 
Data-Intensive Text Processing with MapReduce ch4
Data-Intensive Text Processing with MapReduce ch4Data-Intensive Text Processing with MapReduce ch4
Data-Intensive Text Processing with MapReduce ch4
 
Powershell基礎_20180521用
Powershell基礎_20180521用Powershell基礎_20180521用
Powershell基礎_20180521用
 
「宣言的プログラミング」とSDNのひとつの形態
「宣言的プログラミング」とSDNのひとつの形態「宣言的プログラミング」とSDNのひとつの形態
「宣言的プログラミング」とSDNのひとつの形態
 
MySQL 5.5 Update #denatech
MySQL 5.5 Update #denatechMySQL 5.5 Update #denatech
MySQL 5.5 Update #denatech
 

Kürzlich hochgeladen

Kürzlich hochgeladen (11)

論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 

CakePHP3使ってみて