CakePHP1.3もRC1となり、いよいよ1.2からの移行を本気で考えた方が良い時期に差し掛かってきました。
さて、1.2から1.3になることで、いくつかの新機能が搭載されていく(つまりメソッドが増える)のですが、反対に無くなっていくものもあるので注意が必要です。
たまたまTwitterでこれに関連する話題があったので、ついでなので調べてみました。
1.2.6のソースコードに書かれている「推奨しない」機能は次の通りです。
■cache() (basics.php)
「Cache::write()」を使用します。
■&Set::get() (set.php)
Setは静的に使うことが推奨されています。
このためget()で設定値を入手しようとするとワーニングが出ます。
■Xml::compose() (xml.php)
Xml::toString()のラッピングです。
■Email::_lineLength (email.php)
「Email::lineLength」の方を使用します。
■Model::getDisplayField() (model.php)
「Model::displayField」を直接参照します。
■Model::findAll() (model.php)
「Model::find(‘all’)」を使用します。
■Model::findCount() (model.php)
「Model::find(‘count’)」を使用します。
■Model::findAllThreaded() (model.php)
「Model::find(‘threaded’)」を使用します。
■Model::findNeighbors() (model.php)
「Model::find(‘neighbors’)」を使用します。
■View::renderElement() (view.php)
「View::element()」のラッピングです。
■XmlHelper::addNs() (helpers/xml.php)
「$this->xml->addNamespace()」のラッピングです。
内部的にはXMLクラスのインスタンスが生成されています。
※1.3RC1もまだ変更無くそのま ま残っています。どのように変更されるかは不明です。
■XmlHelper::removeNs() (helpers/xml.php)
「$this->xml->removeGlobalNamespace()」のラッピングです。
内部的にはXMLクラスのインスタンスが生成されています。
※1.3RC1もまだ変更無くそのまま残っています。どのように変更されるかは不明です。
これらは全て、1.2.6以前のバージョンで既に代替方法があります。
今のうちに直しておきましょう。
ちなみに1.3では、このほかにJavaScriptヘルパーに書いていた内容の一部がHtmlヘルパーに移動するなど、いくつかの仕様変更がありますので、1.2→1.3のマイグレーションには下記の情報を参考にしましょう。
▼The Cookbook:11.1 1.2から1.3への移行ガイド
http://book.cakephp.org/ja/view/1561/Migrating-from-CakePHP-1-2-to-1-3
【追記】(2010/03/02)
すみません。モデル内のメソッドで若干記載漏れがありました。
■Model::bind() (model.php)
Model::bindModel()を使用します。
■Model::remove() (model.php)
Model::delete()のラッピングです。
1.3-devからは、使用するとワーニングが出ます。
■Model::del() (model.php)
Model::delete()のラッピングです。
1.3-devからは、使用するとワーニングが出ます。
Model::del() が非推奨になるとは思わなかった
1.2.x 系を見る限り、deleteのほうがラッピングされているので
1.3でごっそりコードが移動していましたね(^^;
まあdeleteAllと合わせるという意味では正しい選択ではないのかと思います。