【CakePHP】使用しない方が良い・できないメソッド等の一覧

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からは、使用するとワーニングが出ます。


【CakePHP】使用しない方が良い・できないメソッド等の一覧” への3件の返信

  1. Model::del() が非推奨になるとは思わなかった
    1.2.x 系を見る限り、deleteのほうがラッピングされているので

  2. 1.3でごっそりコードが移動していましたね(^^;
    まあdeleteAllと合わせるという意味では正しい選択ではないのかと思います。

コメントは受け付けていません。