我正在尝试扩展 FormHelper 以包含一些自定义控件。我想将其作为插件的一部分。该文档对如何实现这一点有点粗略。
我在以下文件夹结构中创建了所需的助手:
\plugins\MyPlugin\src\View\Helper\MyFormHelper
助手看起来像这样:
<?php
use Cake\View\Helper\FormHelper as BaseFormHelper;
class MyFormHelper extends BaseFormHelper
{
}
...是的,它现在是空的。插件上的文档有点含糊,但似乎可以在主应用程序的AppView.php::initialise()
方法中通过以下方式加载此帮助程序:
$this->loadHelper('MyPlugin.MyFormHelper');
但是,这不起作用。这样做我得到一个致命错误:
Fatal error: Cannot declare class MyFormHelper, because the name is already in use in /Users/geoidesic/MyApp/plugins/MyPlugin/src/View/Helper/MyFormHelper.php on line 12
那么问题是如何使用这个插件助手?具体来说,我想覆盖应用程序的默认 FormHelper。有一个className
选项,loadHelper
但我也找不到与插件助手一起使用的方法。