在cakephp 2.0.2中使用shell类中的插件组件

epfja78i  于 2022-11-11  发布在  PHP
关注(0)|答案(2)|浏览(154)

我想从我的shell类中使用一个插件组件。我正在尝试用途:

App::import('Component', 'Myplugin.Mycomponent');
$this->Mycomponent =& new MycomponentComponent();

不幸的是,上述似乎失败了。
我收到一条错误消息,指出找不到Component类。
有什么建议我应该如何处理这个问题吗?
谢谢

bkkx9g8r

bkkx9g8r1#

你应该总是先看一下测试用例!2这样你就会发现它们是这样被手动包含的:

App::uses('ComponentCollection', 'Controller');
App::uses('AppleComponent', 'Myplugin.Controller/Component');

$Collection = new ComponentCollection();
$Apple = new AppleComponent($Collection);

sidenote:如果你需要在控制器以外的地方使用组件,那你就做错了!你应该把功能提取到模型或库中,然后从组件和外壳中调用它

ddhy6vgd

ddhy6vgd2#

我知道这是非常古老的,但我只是在一个遗留的CakePHP 2应用程序中遇到了这个问题。
在控制器中:

public $components = array(
    'Myplugin.Mycomponent',
);

然后,您可以通过以下方式访问该组件:

$this->Mycomponent->mymethod();

来源

相关问题