Skip to content
このドキュメントは、CakePHP 2.x の PHP 8 対応フォーク pieceofcake2/cakephp のものです。 フォークについて

後方互換性ガイド ​

アプリケーションを簡単に、円滑にアップグレードできるようにすることは重要です。 Piece of Cake 2 フォークは CakePHP 2 の公開 API を維持し、新機能は追加しません。 変更は PHP への対応、バグ修正、セキュリティ修正、CakePHP 5 への移行の支援に限られています。

それでも、CakePHP 2 を PHP 8 で動かし続けるためには、アプリケーションに影響する変更が いくつか必要でした。このページでは、リリースに何を期待できるかを説明します。

リリースで何が変わるか ​

ほとんどのリリースには、アプリケーションの変更を必要としないバグ修正と互換性の修正だけが 含まれます。ただし、アプリケーションの変更が必要になる変更を含んだリリースもありました。 例えば次のようなものです。

  • Xcache と Wincache のキャッシュエンジンの削除 (2.10.24.3)
  • Composer によるインストールの必須化と、Bake および 1.3 から 2.0 へのアップグレードシェルの 別プラグインへの分離
  • フレームワークの新しいディレクトリ構成 (2.11.0)
  • フレームワークとアプリケーションの Composer classmap オートロード (2.12.0)

このような変更は、特定の種類のバージョン番号に限られていません。2.10.24.3 のような リリースにも含まれていました。更新する前に、現在のバージョンから新しいバージョンまでの すべてのリリースについて CHANGELOG を読み、アプリケーションのテストスイートを実行してください。

移行ガイド ​

アプリケーションの変更が必要になる変更点は、移行手順とともにフレームワークの UPGRADE ガイド と CakePHP 2.10 からの移行 で説明しています。 本家の CakePHP 2.10.24 からフォークへアプリケーションを移行する方法も、これらに書かれています。

本家 CakePHP の 2.10 までの各リリースの移行ガイドは、このドキュメントの 付録 セクションで見ることができます。

CakePHP を使う場合 ​

CakePHP でアプリケーションを作る場合、最も頼りにできるのは公開 API です。 フレームワークのクラスのインスタンスを作ること、public なメソッドを呼ぶこと、 public なプロパティを読み書きすること、そしてクラスを継承して public なメソッドを 同じシグネチャでオーバーライドすることがこれにあたります。

フレームワークの内部に依存するコードは、修正の影響を受けやすくなります。 フレームワークのクラスの protected なメソッドを呼んだりオーバーライドしたりするコードや、 protected なプロパティを読んだりオーバーライドしたりするコードがこれにあたります。 API ドキュメントで @internal タグが付いているクラスには、後方互換性の保証はありません。

アプリケーションでフレームワークのメソッドをオーバーライドしている場合は、 シグネチャを変えないでください。特に、フレームワークのメソッドに型宣言がないのに オーバーライドするメソッドに型宣言を追加すると、致命的エラーになることがあります。

CakePHP に貢献する場合 ​

フォークに貢献する場合は、コントリビューションガイドの Backwards Compatibility (英語) のガイドラインに従ってください。

Based on the CakePHP Cookbook. Content licensed under CC BY-NC-SA 4.0. Not affiliated with the Cake Software Foundation.