我想从我的shell类中使用一个插件组件。我正在尝试用途:
App::import('Component', 'Myplugin.Mycomponent'); $this->Mycomponent =& new MycomponentComponent();
不幸的是,上述似乎失败了。我收到一条错误消息,指出找不到Component类。有什么建议我应该如何处理这个问题吗?谢谢
bkkx9g8r1#
你应该总是先看一下测试用例!2这样你就会发现它们是这样被手动包含的:
App::uses('ComponentCollection', 'Controller'); App::uses('AppleComponent', 'Myplugin.Controller/Component');
和
$Collection = new ComponentCollection(); $Apple = new AppleComponent($Collection);
sidenote:如果你需要在控制器以外的地方使用组件,那你就做错了!你应该把功能提取到模型或库中,然后从组件和外壳中调用它
ddhy6vgd2#
我知道这是非常古老的,但我只是在一个遗留的CakePHP 2应用程序中遇到了这个问题。在控制器中:
public $components = array( 'Myplugin.Mycomponent', );
然后,您可以通过以下方式访问该组件:
$this->Mycomponent->mymethod();
来源
2条答案
按热度按时间bkkx9g8r1#
你应该总是先看一下测试用例!2这样你就会发现它们是这样被手动包含的:
和
sidenote:如果你需要在控制器以外的地方使用组件,那你就做错了!你应该把功能提取到模型或库中,然后从组件和外壳中调用它
ddhy6vgd2#
我知道这是非常古老的,但我只是在一个遗留的CakePHP 2应用程序中遇到了这个问题。
在控制器中:
然后,您可以通过以下方式访问该组件:
来源