[英]CakePHP 3.1 - missing helper error for plugin
我創建了一個插件,但沒有烘焙,它基本上有一個我要在應用程序中使用的助手。 當運行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:
為插件創建了幫助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()'));
我哪里做錯了? 我有想念嗎?
您需要將路徑添加到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",
}
}
我建議您始終閱讀整章,而不只是部分摘錄。 ;)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.