cakephp:你如何从插件加载行为?

时间:2015-06-22 01:22:15

标签: cakephp cakephp-3.0

修改

我使用蛋糕烘焙来制作新的插件和行为(使用--plugin)并且它有效。不确定我错过了什么。

我试图加载插件的行为。我试图用我为自己编写的插件来做这件事,但是在尝试加载其他人时遇到了同样的问题。

例如加载https://github.com/Xety/Cake3-Upload

我知道你通常应该使用composer,但这是我加载自己的插件的方式。

  1. 将插件复制到\app\plugins\Cake3Upload
  2. 使用

    bootstrap.php中加载插件

    Plugin::load('Cake3Upload', ['autoload' => true]);

  3. 访问我的模型MyModelTable.php initialize函数中的行为

  4. $this->addBehavior('Cake3Upload.Upload');

    然后我收到以下错误:

      

    缺少行为

         

    找不到Cake3Upload.UploadBehavior。

         

    确保您的插件是从config \ bootstrap.php加载的   Composer能够自动加载其类,请参阅加载插件和   插件 - 自动加载插件类

         

    错误:在文件中创建下面的类UploadBehavior:   \应用\插件\ Cake3Upload \ SRC \模型\行为\ UploadBehavior.php

    use Cake\ORM\Behavior;
    
    class UploadBehavior extends Behavior
    {
    
    }
    

1 个答案:

答案 0 :(得分:0)

那么命名空间呢?如果你不使用作曲家你必须建立相同的文件树。

我认为只是uploadBehavior有这个命名空间:

namespace Xety\Cake3Upload\Model\Behavior;

然后你只需要关注插件doc:

Plugin::load('Xety/Cake3Upload');

$this->addBehavior('Xety/Cake3Upload.Upload');

添加' Xety /'也许