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
CakePHP2と3の違い
Search
sakuragawa
April 20, 2016
Programming
8
4.7k
CakePHP2と3の違い
CakePHP2と3の違い
sakuragawa
April 20, 2016
Tweet
Share
More Decks by sakuragawa
See All by sakuragawa
CircleCI APIでプチ効率化
sakuragawa
1
550
PHP + GitHub + Azure Functions = ?
sakuragawa
0
240
今こそCakePHP3に乗り換えよう!/php_conference_fukuoka_2016
sakuragawa
0
1.1k
Other Decks in Programming
See All in Programming
明示と暗黙 ー PHPとGoの インターフェイスの違いを知る
shimabox
2
580
PostgreSQLのRow Level SecurityをPHPのORMで扱う Eloquent vs Doctrine #phpcon #track2
77web
2
550
#QiitaBash MCPのセキュリティ
ryosukedtomita
1
1.4k
Porting a visionOS App to Android XR
akkeylab
0
640
TypeScriptでDXを上げろ! Hono編
yusukebe
1
390
スタートアップの急成長を支えるプラットフォームエンジニアリングと組織戦略
sutochin26
1
6.5k
Railsアプリケーションと パフォーマンスチューニング ー 秒間5万リクエストの モバイルオーダーシステムを支える事例 ー Rubyセミナー 大阪
falcon8823
5
1.4k
Goで作る、開発・CI環境
sin392
0
240
PipeCDのプラグイン化で目指すところ
warashi
1
290
なんとなくわかった気になるブロックテーマ入門/contents.nagoya 2025 6.28
chiilog
1
280
NPOでのDevinの活用
codeforeveryone
0
870
Azure AI Foundryではじめてのマルチエージェントワークフロー
seosoft
0
190
Featured
See All Featured
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Rebuilding a faster, lazier Slack
samanthasiow
83
9.1k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
How to Ace a Technical Interview
jacobian
278
23k
YesSQL, Process and Tooling at Scale
rocio
173
14k
Visualization
eitanlees
146
16k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
A Modern Web Designer's Workflow
chriscoyier
695
190k
Agile that works and the tools we love
rasmusluckow
329
21k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
Building Adaptive Systems
keathley
43
2.7k
Transcript
CakePHP2と3の違い 2016/4/13
自己紹介 株式会社Fusic 技術開発部 マネージャー 櫻川 幸三 https://github.com/kozo https://github.com/fusic http://qiita.com/kozo http://qiita.com/organizations/fusic
CakePHP利用歴:8年程度(CakePHP1.1から) Cake3用のプラグイン初リリース 2014/11/13(Cake3のリリースは2015/3) 2
3 使ってますか?
CakePHP3メリット PHP自体のバージョン 速度、使える機能が多い。 composer Cake自体、ライブラリのバージョン管理が容易 autoload namespace PSR-2 trait Cake自体を含めた可読性が上がった
デザインが少しかっこよくなった CakePHP2よりはましになった モデル周りが一新 出来ることが増えた!拡張性が大幅に向上! 4
5 新しい方が楽しい! モダンな書き方をしたい!
PHP等のバージョン変更 CakePHP2 CakePHP3 PHP 5.3以上 5.5.9以上 Extension mcrypt intl mbstring
openssl(オプション) PostgreSQL 7以上 ??? MySQL 4 & 5 5.1.10以上 SQL Server 2005以上 2008以上 SQLite ??? 3 6 • PHP5.4 • trait • short array syntax([]) • short open tag(<?=) • PHP5.5 • yield • password_hash • finally
composer経由でインストールが楽 composerが標準で対応 CakePHP自体 様々なライブラリ autoload(PSR-4)に対応 ファイル名 ディレクトリ構造 namespace PSR-2準拠 7
composer create-project --prefer-dist cakephp/app [アプリ名]
デザインがおしゃれに 8
モデル周りが大幅リニューアル! QueryBuilder Table Entity 9
QueryBuilder CakePHP2 10 $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 配列地獄からは解消される!
Table、Entity Table DBのテーブルへアクセスする CakePHP2のModelクラスに近い動きをする 11 • Entity • DBのテーブル1レコードを表す •
カラムのデータ自体の加工等を担当する • CakePHP2までのModelクラスが、 TableとEntityの2つに分離された Tableクラス Entityクラス
デメリット 学習コスト namespace QueryBuilder プラグイン周り プラグイン周りは全滅 Controller、View周りは大きくは変更されてない Model関係は0から作りなおす必要がある PHP自体のバージョンが高い 5.5.9以上
12
まとめ 学習コストはあるが、 覚えてしまえば拡張性が非常に高く使いやすい! やっとモダンなフレームワークの仲間入り! 新しいものは楽しい! 13
ご清聴ありがとうございました Fusicはテクノロジーが 好きなエンジニアを募集しています https://fusic.github.io 14