ってかヘルパーって原則としてビューでしか使えないみたいね〜へぇへぇ
とりあえず、最初はcontrollerで下のようにしてました
var $helpers = array('Xml'); function get_xml() { return $xml->serialize($this->data); }
Fatal error: Call to a member function serialize() on a non-object in 〜
うおおおおい!なんでやねん!!!
と、試行錯誤して以下の方法で解決した。
var $helpers = array('Xml'); function get_xml() { App::import('Helper', 'Xml'); $xml = new XmlHelper(); return $xml->serialize($this->data); }
これでHtmlヘルパーやFormヘルパー等、その他のヘルパーにも応用できますね〜。
var $helpers = array('Html', 'Form'); function hoge() { //Htmlヘルパーの場合 App::import('Helper', 'Html'); $html = new HtmlHelper(); //Formヘルパーの場合 App::import('Helper', 'Form'); $form = new FormHelper(); }
こんな横着しない方がいいんですけどね!