0

我正在尝试找出为什么在我的控制器中找不到我的助手。

我收到以下错误:

Fatal error: Call to a member function hash() on a non-object in /home/example/public_html/cake/app/Controller/CommentsController.php on line 26

这是我在视图/助手中找到的“助手”助手

class HelperHelper extends AppHelper {

    public function hash($hash){
        return md5(sha1($hash."sha1777")."md5888");
    }
...

这是评论控制器:

class CommentsController extends AppController {

    public $helpers = array('Html', 'Form', 'Helper');

$chk = $this->Helper->hash($this->request->data["Comment"]["qid"].$this->request->data["Comment"]["aid"]);

当我之前执行以下操作时,我可以看到列出的助手:

当我打印助手时,我可以在数组中看到它:

Array
(
    [0] => Html
    [1] => Form
    [2] => Helper
)

我不明白为什么这不起作用......任何帮助将不胜感激。

非常感谢,蒂姆

4

1 回答 1

2

哦,我有这个!您的控制器找不到您的助手,因为助手是视图层的扩展。组件是控制器层的扩展。

因此,如果您想在尝试时在控制器中使用此帮助器,请将其改为组件。或者如果是格式化代码,则将格式化代码移动到视图中。

于 2012-09-05T18:35:28.573 回答