我创建了一个插件,但没有把它烘焙,基本上有一个帮助器,我想在应用程序中使用它。运行index.php时出现以下错误:
致命错误:[Cake \ View \ Exception \ MissingHelperException]无法找到帮助程序类EasyuiHelper。
#0 C:\xampp\htdocs\myKMG_3\vendor\cakephp\cakephp\src\Core\ObjectRegistry.php(91): Cake\View\HelperRegistry->_throwMissingClassError('Easyui', 'Easyui') #1 C:\xampp\htdocs\myKMG_3\vendor\cakephp\cakephp\src\View\View.php(1001): Cake\Core\ObjectRegistry->load('Easyui.Easyui', Array) #2 C:\xampp\htdocs\myKMG_3\src\View\AppView.php(40): Cake\View\View->loadHelper('Easyui.Easyui') #3 C:\xampp\htdocs\myKMG_3\vendor\cakephp\cakephp\src\View\View.php(335): App\View\AppView->initialize() #4 C:\xampp\htdocs\myKMG_3\vendor\cakephp\cakephp\src\View\ViewBuilder.php(350): Cake\View\View->__construct(Object(Cake\Network\Request), Object(Cake\Network\Response), Object(Cake\Event\EventManager), Array) #5 C:\xampp\htdocs\myKMG_3\vendor\cakephp\cakephp\src\View\ViewVarsTrait.php(119): Cake\View\ViewBuilder->build(Array, Object(Cake\Network\Request), Object(Cake\Network\Response), Object(Cake\Event\EventManager)) #6 C:\xampp\htdocs\myKMG_ in C:\xampp\htdocs\myKMG_3\vendor\cakephp\cakephp\src\Error\ErrorHandler.php on line 156
我按照此过程创建了插件:
我在plugins/Easyui/scr/View/Helper EasyuiHelper.php:
namespace Easyui\View\Helper;
use Cake\View\Helper;
class EasyuiHelper extends Helper {
public function linkButton($id_image='imgLinkButton', $optionsImg=array()){
// ...
}
}
我在config / bootstrap中添加了以下行:
Plugin::load('Easyui');
这些在View/AppView
:
public function initialize()
{
parent::initialize();
$this->loadHelper('Easyui.Easyui');
}
和Controller/AppController
中的这个:
public $helpers = ['Easyui.Easyui'];
我在默认布局文件中使用帮助器:
$this->Easyui->linkButton('imgPrint', array('iconCls'=>'icon-print', 'onClick'=>'window.print()'));
我哪里出错了? 我错过了什么吗?
答案 0 :(得分:1)
您需要添加composer.json的路径,以便自动加载器可以拾取它们。见http://book.cakephp.org/3.0/en/plugins.html#autoloading-plugin-classes
"autoload": {
"psr-4": {
"Easyui\\": "./plugins/Easyui/src",
}
},
"autoload-dev": {
"psr-4": {
"Easyui\\Test\\": "./plugins/Easyui/tests",
}
}
我建议您始终阅读整个章节,而不仅仅是部分摘录。 ;)