0

CakePHP2.3 で書かれたプロジェクトがあり、PHP をバージョン 5.4 にアップグレードすることを考えています。私はコードを DRY に保とうとしていますが、PHP5.4 の特性はそれを助けることができます。私の現在の PHP バージョンは 5.3.3 です。

サーバーへのインストールを開始する前に、これが良いアイデアかどうかを知りたいです。

  • CakePHP2.3 と PHP5.4 を一緒に使用したことがありますか? はいの場合、互換性の問題に遭遇しましたか?

  • PHP5.4 からの新しい特性機能を使用しましたか? はいの場合、何か問題はありましたか?

4

1 に答える 1

1

PHP 5.4 サーバー上に CakePHP 2.2 プロジェクトがあります。CakePHP のクラスは継承パターンで適切に記述されているため、問題なく動作します。ただし、アプリケーションが継承を不適切に実装している場合、5.3 では発生しなかった PHP エラーが 5.4 で発生します。

class parentClass{
    public function test($foo);
}

class childClass extends parentClass{
    //Does not properly implement test
    public function test();
}

そうでなければ、CakePHP 2.0+ は完全に互換性があります。(CakePHP 2.3 はまだ開発中のため、アップグレードしていません。ただし、2.2 と API 互換性があるため、答えは 2.0 ブランチのすべてのバージョンに適用されます)。

バージョン 3.0 までは、トレイトは CakePHP で公式にサポートされていません。ただし、プロジェクトでは問題なく使用しています。実際、それらは非常に便利です。それらをインポートするために CakePHP メソッドを使用することはできません (まだサポートされていません)。標準require_once('trait_file_name.php');を使用してから、クラス/インターフェースにトレイトを適用してください。

CakePHP 3.0 には PHP 5.4 が必要になるため、使用する開発パターンは準備中です。

于 2012-12-24T16:04:25.620 に答える