DEVELOPERS BLOGデベロッパーズブログ

加藤 正人のデベロッパーズブログ

加藤 正人

氏名
加藤 正人
役職
多分SE
血液型
秘密
出没
美味しいもののあるところ
特色
タヒチ大好き。ちょいメタボ。

加藤 正人

2020/03/01

CakePHP 4.0

 

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 に変更された。

 

関連タグ: CakePHP4 

関連エントリー