CakePHP2系がリリースされてしばらく経つので、そろそろ安定してきたかなと思い、実際にCakePHP1.3.6からCakePHP2.1.3へ移行してみました。
以下は、アップグレードに伴い、実際に作業した内容をまとめたものです。
ちなみに、CakePHP2.1.3はインストール済みのものとします。
目次
ファイル名のルールがキャメルケースへ
これまでスネークケースであったファイル名のルールが以下のようにキャメルケースになります。また複数形の「s」も排除されています。
/controllers/pages_controller.php ⇒ /Controller/PageController.php /views/pages/display.ctp ⇒ /View/Pages/display.ctp
コンポーネントの継承が変わる
コンポーネントクラスはこれまで「Object」を継承していましたが、以下のように「Component」を継承するようになりました。
class TestComponent extends Component {
コンポーネントの引数が2つから1つに
これまでは、コンポーネントを読み込むときに、第2引数で配列で値を渡すことができました。
class TestComponent extends Component { function initialize(ComponentCollection $collection, $settings = array()) { } }
しかし、CakePHP2からは第1引数のみとなります。
function initialize(ComponentCollection $collection) { }
プラグインのファイル構成が異なる
例えば、コンポーネントプラグインを追加する場合、
/plugins/my_plugin/controllers/components/test.php
このようにファイルを設置していましたが、以下のようになります。
/plugins/MyPlugin/Controller/Component/TestComponent.php
プラグインは事前にロードしなければならない
以前はいきなりコントローラ内で、例えばプラグインコンポーネントを読み込んでました。
$components = array(‘MyPlugin.Test’);
しかし、CakePHP2では事前にプラグインを読み込む必要があります。例えば「bootstrap.php」で以下のようにロードします。
CakePlugin::load(' MyPlugin ');
廃止になったヘルパー
以下のヘルパーは廃止となり使えなくなりました。
Ajax Helper、JavaScript Helper、XML Helper |
---|
廃止になった関数
以下の関数は廃止となり使えなくなりました。
ife()、cakeError() |
---|
コメントする