app控制器在我自己的帮手蛋糕php?

时间:2013-02-09 10:20:05

标签: cakephp-2.0

我如何在蛋糕php 2.X中使用我自己的帮助方法中的App控制器方法或属性? 我在App控制器中有一个名为get_lan()的方法,这是我的助手,但是当我运行时收到错误消息:

Error: Call to undefined function get_lan() 
File: C:\wamp\www\app\View\Helper\current_langHelper.php    
Line: 8" 

代码:

<?php
App::uses('AppHelper', 'View/Helper');

class current_langHelper extends AppHelper {
    public $helpers = array('Html');

    public function current_lang()
    {
        var_dump(get_lan());
    }
}

1 个答案:

答案 0 :(得分:1)

助手不会调用Controller方法。换句话说,助手不会“看到”控制器成员。 Controller应通过set()方法将信息传递给View / Helper。您可以使用get_lang()方法(最好将其命名为setLang())将语言传递给视图,例如:

private setLang(){ $this->set('lang',$selectedLanguage); }

然后您可以在视图中使用此变量:

var_dump($lang);