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 に答える