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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
sakuragawa
April 20, 2016
Programming
8
4.8k
CakePHP2と3の違い
CakePHP2と3の違い
sakuragawa
April 20, 2016
Tweet
Share
More Decks by sakuragawa
See All by sakuragawa
CircleCI APIでプチ効率化
sakuragawa
1
570
PHP + GitHub + Azure Functions = ?
sakuragawa
0
250
今こそCakePHP3に乗り換えよう!/php_conference_fukuoka_2016
sakuragawa
0
1.1k
Other Decks in Programming
See All in Programming
Rで始めるML・LLM活用入門
wakamatsu_takumu
0
170
AI時代のソフトウェア開発でも「人が仕様を書く」から始めよう-医療IT現場での実践とこれから
koukimiura
0
140
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
500
DSPy入門 Pythonで実現する自動プロンプト最適化 〜人手によるプロンプト調整からの卒業〜
seaturt1e
1
670
社内規程RAGの精度を73.3% → 100%に改善した話
oharu121
13
7.9k
RAGでハマりがちな"Excelの罠"を、データの構造化で突破する
harumiweb
9
2.7k
Go1.26 go fixをプロダクトに適用して困ったこと
kurakura0916
0
360
maplibre-gl-layers - 地図に移動体たくさん表示したい
kekyo
PRO
0
240
nuget-server - あなたが必要だったNuGetサーバー
kekyo
PRO
0
230
Claude Codeログ基盤の構築
giginet
PRO
7
2.6k
New in Go 1.26 Implementing go fix in product development
sunecosuri
0
420
どんと来い、データベース信頼性エンジニアリング / Introduction to DBRE
nnaka2992
1
270
Featured
See All Featured
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
1
150
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
390
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
860
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
200
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
1
1.3k
Information Architects: The Missing Link in Design Systems
soysaucechin
0
820
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
400
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
940
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
200
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
310
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
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