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

  • strict warning: Non-static method view::load() should not be called statically in /home/lyniqne/public_html/planetcakephp.org/drupal/sites/all/modules/views/views.module on line 842.
  • strict warning: Declaration of views_handler_argument::init() should be compatible with views_handler::init(&$view, $options) in /home/lyniqne/public_html/planetcakephp.org/drupal/sites/all/modules/views/handlers/views_handler_argument.inc on line 745.
  • strict warning: Declaration of views_plugin_row::options_validate() should be compatible with views_plugin::options_validate(&$form, &$form_state) in /home/lyniqne/public_html/planetcakephp.org/drupal/sites/all/modules/views/plugins/views_plugin_row.inc on line 135.
  • strict warning: Declaration of views_plugin_row::options_submit() should be compatible with views_plugin::options_submit(&$form, &$form_state) in /home/lyniqne/public_html/planetcakephp.org/drupal/sites/all/modules/views/plugins/views_plugin_row.inc on line 135.
  • strict warning: Non-static method view::load() should not be called statically in /home/lyniqne/public_html/planetcakephp.org/drupal/sites/all/modules/views/views.module on line 842.
  • strict warning: Declaration of views_handler_filter::options_validate() should be compatible with views_handler::options_validate($form, &$form_state) in /home/lyniqne/public_html/planetcakephp.org/drupal/sites/all/modules/views/handlers/views_handler_filter.inc on line 589.
  • strict warning: Declaration of views_handler_filter::options_submit() should be compatible with views_handler::options_submit($form, &$form_state) in /home/lyniqne/public_html/planetcakephp.org/drupal/sites/all/modules/views/handlers/views_handler_filter.inc on line 589.
  • strict warning: Declaration of views_handler_filter_boolean_operator::value_validate() should be compatible with views_handler_filter::value_validate($form, &$form_state) in /home/lyniqne/public_html/planetcakephp.org/drupal/sites/all/modules/views/handlers/views_handler_filter_boolean_operator.inc on line 149.

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