Skip to content
これは pieceofcake2/upgrade のドキュメントです。pieceofcake2/cakephp 用の CakePHP 2.x プラグインです。 このフォークについて

Upgrade ドキュメント ​

Upgrade プラグインは upgrade コンソールシェルを提供します。このシェルは、CakePHP 1.3 アプリケーションを CakePHP 2 にアップグレードするために必要な機械的な変更の大部分を自動化します。 pieceofcake2/cakephp で動作します。

IMPORTANT

このシェルはファイルを移動し、書き換えます。実行する前にアプリケーションをバックアップするか Git にコミットし、 まず --dry-run で試してください。

インストール ​

Composer で、開発用の依存パッケージとしてプラグインをインストールします。

bash
composer require --dev pieceofcake2/upgrade

このプラグインは cakephp-plugin タイプなので、composer/installers によってプラグインのディレクトリに インストールされます。正しい場所にインストールされるように、アプリケーションの composer.json で installer-paths を設定してください。

構成installer-paths
モダン (config/、src/、templates/、plugins/)"plugins/{$name}/": ["type:cakephp-plugin"]
レガシー (app/Config/、app/Plugin/)"app/Plugin/{$name}/": ["type:cakephp-plugin"]

プラグインは config/bootstrap.php (レガシー構成では app/Config/bootstrap.php) で読み込みます。 すでに CakePlugin::loadAll() を使っている場合は必要ありません。

php
CakePlugin::load('Upgrade');

シェルの実行 ​

bin/cake (レガシー構成では app/Console/cake) でシェルを実行します。

bash
# Run all upgrade commands
bin/cake upgrade all

# See what would be changed without changing anything
bin/cake upgrade all --dry-run

# Run a single command
bin/cake upgrade locations

アップグレードするアプリケーションのディレクトリで、そのアプリケーションをコンソールのアプリケーション (APP) として 実行してください。locations はカレントディレクトリを基準にフォルダを移動し、その他のコマンドはアプリケーション (または --plugin で指定したプラグイン) の PHP ファイルを書き換えます。

コマンド ​

コマンド説明
all他のすべてのコマンドを実行します。
testsテストクラスの名前を FooTestCase から FooTest に変更します。
locationsファイルとフォルダを CakePHP 2 での場所に移動します (config を Config に、models を Model に、views を View に、tests/cases を Test/Case に、など)。plugins/ にあるプラグインも対象です。
i18n翻訳関数の呼び出しを更新します。__('text', true) は __('text') になり、直接出力していた呼び出しには echo が付きます。
helpersビューでのヘルパーの呼び出しを $this->Helper に更新します。
basicsbasics.php の削除された関数を PHP のネイティブ関数に置き換えます。
request削除されたリクエストのプロパティ ($this->data、$this->params、...) を $this->request に置き換えます。
configureConfigure::read() を Configure::read('debug') に置き換えます。
constantsCONFIGS や CONTROLLERS などの廃止された定数を、APP から組み立てたパスに置き換えます。
controller_redirectsコントローラーの $this->redirect() の呼び出しに return を追加します。
componentsコンポーネントが Component クラスを継承するようにします。
exceptionscakeError() の呼び出しを例外に置き換えます。

オプション ​

オプション説明
--plugin、-p指定したプラグインだけを更新します。
--ext、-e更新するファイルの拡張子。パイプ区切りのリストか、preg_match() 互換のサブパターンで指定します (デフォルト: php|ctp|thtml|inc|tpl)。
--git、-gGit が履歴を保持するように、git mv でファイルを移動します。カレントディレクトリは Git リポジトリである必要があります。
--dry-run、-dファイルを変更せずに変更内容を表示します。

アップグレードの後で ​

このシェルは、app/Config/、app/Controller/、app/View/ などを使う CakePHP 2 のディレクトリ構成を作成します。 変更内容を確認し、テストを実行して、シェルが自動的に変換できなかった部分を修正してください。

pieceofcake2/cakephp は、CakePHP 5 スタイルの構成 (config/、src/、templates/) もサポートしています。 アップグレードしたアプリケーションをこの構成に移すには、pieceofcake2/app スケルトンのファイルの移行対応表に従ってください。

由来 ​

このパッケージは cakephp/cakephp (Packagist では cakephp/cakephp、アップストリームの最終バージョンは 2.10.24) の upgrade コンソールシェルをもとに別のパッケージとして切り出したもので、 元の作者は CakePHP コミュニティ (Cake Software Foundation, Inc.) です。 pieceofcake2 が、モダンな PHP で動く CakePHP 2 向けに メンテナンスしています。オリジナルからの変更点は コミット履歴 で確認できます。

著作権とライセンスについては LICENSE を参照してください。Cake Software Foundation とは関係ありません。