回答
對於大多數組件,你可以使用類似:
App::import('Component', 'YourComponent');
$theComponent = new YourComponent();
$theComponent->yourMethod();
然而,組件意味着共享由控制器使用的功能,所以平時應當避免的看法調用組件。
我建議將組件方法包裝在幫助器中,然後使用通常的路徑訪問幫助器。
我認爲這不是一個好習慣。將設計視爲設計師應該使用的一種視圖。如果可能的話,您希望將代碼保存在模型和控制器中。如果它與可重用的視圖內容有關,請考慮將控制器移動到元素或助手,因爲這是他們的目標。
如果您提供了更多詳細信息,我們可以更具體地說明如何實現某些功能,如果您已經擁有我們可以參考的代碼庫。
我的意見是,這是一個判斷的呼籲。代碼是代碼,邏輯是邏輯。它的一些屬於控制器,一些屬於模型,另一些屬於視圖。但**一些**代碼需要在任何地方**訪問**。以**餘弦**爲例。以**今天的日期**爲例。有什麼可能的原因可以限制這些功能只是MVC範例的一部分,因爲我們已經發明瞭一個範例? – UncaAlby 2016-08-22 21:11:41
它與MVC範例@UncaAlby和更多關於SOLID無關。爲什麼渲染系統需要知道做數學?渲染HTML沒有理由知道數學。 – 2016-08-24 17:56:25
一切都是可能的!
組件:
function initialize(&$controller){
$this->controller =& $controller;
$this->controller->set('YourComponent', new YourComponent());
}
查看:
<?php $YourComponent->doAction() ... ?>
這是好方法,我聲明public $ components = array(「compo1」);然後我設置組件:$ this-> set(「compo1」,$ this-> compo1);有效! – Phuong 2016-12-21 04:50:34
- 1. CakePHP - 從視圖中調用組件的功能並在按鈕上執行它點擊
- 2. 如何調用從父列表視圖中的子組件的功能
- 3. 從視圖中調用視圖組件時,什麼是組件?
- 4. 調用視圖功能
- 5. 從angular2中的路由器組件調用父組件功能
- 6. 使用BackboneJS從子視圖調用視圖功能
- 7. CakePHP的調用控制器功能從CTP文件
- 8. Cakephp調用組件
- 9. 從codeigniter中的視圖調用控制器功能
- 10. 從視圖中調用Javascript功能的MVC4
- 11. 從父組件調用子組件的功能
- 12. 調用視圖的功能與對話框的功能相同
- 13. CakePHP的:從視圖
- 14. 在cakephp中使用搜索功能調整視圖時,無法添加參數
- 15. 從視圖中調用控制器功能laravel 4
- 16. 如何調用從子組件功能在父組件
- 17. Angular2從另一個組件調用一個功能組件
- 18. 從共享服務中調用組件的功能
- 19. 從React中的另一個無關組件調用一個組件的功能
- 20. CakePHP從視圖文件中達到cookie
- 21. AngularJS從URL調用控制器的功能和視圖
- 22. 從應用程序到組件的調度功能事件
- 23. 如何從視圖中調用組件中的方法? (vue.js 2)
- 24. 從視圖中調用控制器的方法CakePHP
- 25. 從視圖模型調用用戶控制功能
- 26. CakePHP的調用模型和視圖
- 27. 從javascript調用ActiveX控件的功能
- 28. mapDispatchToProps並直接調用組件中的調度功能
- 29. Codeigniter:需要從視圖調用控制器功能
- 30. 從另一個視圖調用查看功能 - Backbone
感謝@Jonathan,我也在我的代碼使用後建議幫手。 – 2017-12-07 13:32:09