2012-06-04 51 views
1

我想使用我的shell類中的插件組件。我試圖使用:在cakephp 2.0.2中使用shell類中的插件組件

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

不幸的是,上述似乎失敗。

而且我收到一條錯誤消息,指出無法找到Component類。

任何建議我應該如何解決這個問題?

謝謝

回答

4

你應該總是先看看測試用例!這樣,你就會發現,他們是手動包括這樣:

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

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

旁註: 如果你需要使用一個組件在其他地方比控制器比你做某事錯誤! 您應該將功能提取到模型或庫中並從組件和外殼中調用它

+0

感謝您的幫助。但是我不確定第二行。我做了這樣的事情:App :: uses('PokerAliasesWebService','Pluginname.Controller/Component');你能幫我打起精神嗎?謝謝。 –

+0

sry,我更正了上面的聲明:它是'App :: uses('PokerAliasesWebServiceComponent',...)' – mark

+0

好,所以我的代碼目前看起來像這樣: 'App :: uses('Component','Controller 「); App :: uses('PokerAliasesWebServiceComponent','Pluginname.Controller/Component'); $ Collection = new ComponentCollection(); $ this-> PokerAliasesWebService = new PokerAliasesWebServiceComponent($ Collection);'但是我收到一個錯誤,說無法找到ComponentCollection類。 –