0
0

More than 3 years have passed since last update.

CakePHP v3.5.x から v4.2.x へのバージョンアップについてのメモ

Last updated at Posted at 2021-06-20

CakePHP 3.5.x から 4.2.x へバージョンアップする際に、苦労した点などをマトメていきます。

この記事は徐々に、更新していく予定です。

私が携わった案件では、サーバをインターネット環境に接続できないという制約があったため、composerは使用せず、全て手動でバージョンアップしています。

CakePHP4.xの移行ガイドに書かれていることについては、この記事では触れません。
移行ガイドだけ読んでいても気づきづらいことや、予め一覧化されていた方がよい変更点などをマトメていきます。

↓ v4.2の移行ガイドはこちら ↓
https://book.cakephp.org/4/ja/appendices/4-2-migration-guide.html

記述方法の変更点マトメ

現行のソースコードにこれらの記述方法の変更点を反映させて、新フレームワークに乗せ換えるだけで、ほぼほぼ動く様になると思います。
(もちろん、/src/Config配下の設定が正しく移行されていることが必要ですが。)

逆に言うと、これらの変更点を事前に把握していないと、
■エラー出る→■公式サイトで変更点を調べる→■修正する→■それを類似の全てのファイルに反映させる
を繰り返すハメになります。(私のように・・・・・)

記述方法の変更によるエラー「以外」については、フレームワークの個々の機能(ウィジェットとか)の問題なので、一個一個調べていくしかないと思います。

分類

v3.5.x

v4.2.x

備考

Model public function initialize(array $config) public function initialize(array $config) : void
View $this->viewBuilder()->layout('hoge'); $this->viewBuilder()->setLayout('hoge');
Controller public function initialize() public function initialize(): void
Controller $hoge = $this->Hoges->newEntity(); $hoge = $this->Hoges->newEmptyEntity(); Hogesはコントローラーの名前
(HogesController)
Table public function validationDefault(Validator $validator) public function validationDefault(Validator $validator): Validator
Session関連 $this->request->session() $this->request->getSession()
--- --- --- ---



(続きは随時、更新していきます。)

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0