扩展助手,使用原始名称

时间:2016-10-20 17:17:00

标签: cakephp cakephp-2.0 cakephp-3.0 cakephp-1.3 cakephp-2.3

我有一个帮助器,我们在所有CakePHP应用程序中使用,我试图扩展以包含特定于应用程序的方法。但是,我想以原始名称引用帮助程序。

例如,而不是

$appSpecificHelperName->method() 

我希望我的子类由基类名称引用:

$helperName->method()

在视图中。

有办法吗?这特别是在Cake 1.2中,但该应用程序将升级到Cake 2或明年可能会升级到3,我想知道任何/所有版本的解决方案。

1 个答案:

答案 0 :(得分:0)

在文档中找到答案:

  

要使用的一个常见设置是className选项,它允许您在视图中创建别名帮助程序。当您想用自定义实现替换$ this-> Html或其他常见Helper引用时,此功能非常有用:

// app/Controller/PostsController.php
class PostsController extends AppController {
    public $helpers = array(
        'Html' => array(
            'className' => 'MyHtml'
        )
    );
}


// app/View/Helper/MyHtmlHelper.php
App::uses('HtmlHelper', 'View/Helper');
class MyHtmlHelper extends HtmlHelper {
    // Add your code to override the core HtmlHelper
}