cakephp:如何从插件加载行为? 编辑 我使用cake bake制作了一个新的插件和行为(使用--plugin),它成功了。不知道我错过了什么。
我正在尝试加载插件的行为。我正试图用我自己编写的插件来实现这一点,但当我尝试加载其他人的插件时,会遇到同样的问题 例如加载 我知道您通常应该使用composer,但这是我加载自己插件的方式cakephp:如何从插件加载行为? 编辑 我使用cake bake制作了一个新的插件和行为(使用--plugin),它成功了。不知道我错过了什么。,cakephp,cakephp-3.0,Cakephp,Cakephp 3.0,我正在尝试加载插件的行为。我正试图用我自己编写的插件来实现这一点,但当我尝试加载其他人的插件时,会遇到同样的问题 例如加载 我知道您通常应该使用composer,但这是我加载自己插件的方式 将插件复制到\app\plugins\Cake3Upload 在bootstrap.php中使用 Plugin::load('Cake3Upload',['autoload'=>true]) 访问我的模型的MyModelTable.phpinitialize函数中的行为 $this->addBehavior(
\app\plugins\Cake3Upload
bootstrap.php
中使用
Plugin::load('Cake3Upload',['autoload'=>true])代码>
MyModelTable.php
initialize
函数中的行为$this->addBehavior('Cake3Upload.Upload')代码>
然后我得到以下错误:
缺失行为
找不到Cake3Upload.UploadBehavior
确保插件是从config\bootstrap.php加载的,并且
Composer能够自动加载其类,请参见加载插件和
插件-自动加载插件类
错误:在文件中创建下面的类上载行为:
\app\plugins\Cake3Upload\src\Model\Behavior\UploadBehavior.php
那么名称空间呢?如果不使用composer,则必须构建相同的文件树
我认为这只是关于上传行为的问题,有这样一个名称空间:
namespace Xety\Cake3Upload\Model\Behavior;
那么你只需要遵循插件文档:
Plugin::load('Xety/Cake3Upload');
及
添加“Xety/”可能您是否按照错误消息所示阅读了?是的。这就是为什么我尝试了['autoload'=>true]
我在烘焙自己的插件时也遇到了同样的错误,所以我认为这与名称间距无关。
Plugin::load('Xety/Cake3Upload');
$this->addBehavior('Xety/Cake3Upload.Upload');