DEVELOPERS BLOGデベロッパーズブログ
- HOME >
- 加藤 正人のデベロッパーズブログ >
- CakePHP 4.0
加藤 正人のデベロッパーズブログ
- 氏名
- 加藤 正人
- 役職
- 多分SE
- 血液型
- 秘密
- 出没
- 美味しいもののあるところ
- 特色
- タヒチ大好き。ちょいメタボ。
- 2020/12/15
- CakePHP3 のリダイレクトがうまく行かない例
- 2020/11/12
- Apache Bench
- 2020/10/05
- PhpSpreadsheet でExcel ファイルを読み込む (CakePHP3)
CakePHP 4.0 が公式リリースされた。
CakePHP 4.0 はそれ以前の 3.x との後方互換性はない。また、3.8 で非推奨だったメソッド・プロパティ・機能は全て利用できなくなっている。
4.0 で非推奨となった項目
影響の大きいものとしては AuthComponent が「非推奨」となり、Authentication (認証) プラグインと Authorization (承認) プラグインに分割された点がある。4.0 でも AuthComponent は利用可能だが、5.0.0 で廃止される。
- Authentication (認証) は、何らかのサービスに対する利用者が「正当な」利用者であるかどうかを判定する。
- Authorization (承認) は、「認証済」利用者が特定のリソースに対しアクセスできるかどうかを判定する。
また、同様に Filiesystem パッケージも「非推奨」となり、ファイルやフォルダのアクセス機能は他のパッケージへの移行をする必要がある。このパッケージも 5.0.0 で廃止される。
4.0 で変更された機能
コントローラのアクションメソッド名と呼び出し時の URL 等との間のマッチングで大文字小文字の区別をするように変更された。このため、URLで forgotpassword と指定した場合アクションメソッドも forgotpassword でなくてはならず、 forgotPassword や ForgotPassword のようなアクションメソッドに対してはマッチしなくなった。
Table::newEntity() に対するデータを指定する配列は検証されるようになった。このため入力なしでエンティティを作ろうとして引数なしの newEntity() を実行するとエラーになるようになった。入力なしでエンティティを作成する場合は Table::newEmptyEntity() を使用する必要がある。
View に対するテンプレートは、 src/Template/ ではなく templates/ フォルダに移動された。src フォルダ配下には composer のオートローダーを介してオートロードされるクラスを持つファイルのみが含まれるようになった。
テンプレートファイルの拡張子が .ctp から .php に変更された。
関連エントリー
- 2020/02/01
- バージョンを指定して CakePHP をインストールする
2020/12/15
2020/11/12
2020/10/05
2020/09/11
2020/08/03