我有两个控制器共享他们的大部分代码(但必须是不同的控制器)。 (对我来说,至少)明显的解决方案是创建一个类,并使两个控制器继承它。事情是......放在哪里?现在我已经在app_controller.php中,但它有点混乱。将CakePHP中的控制器父类放在哪里?
4
A
回答
9
在蛋糕中,组件用于存储可由多个控制器使用的逻辑。该目录是/ app/controllers/components。例如,如果您有一些可共享的实用程序逻辑,您可能会有一个名为UtilComponent的对象和一个名为UtilComponent.php的/ app/controlers/components中的文件。
<?php
class UtilComponent extends Object {
function yourMethod($param) {
// logic here.......
return $param;
}
}
?>
然后,在你的控制器类,你可以这样:
var $components = array('Util');
然后调用类的方法:
$this->Util->yourMethod($yourparam);
更多信息:
4
顺便说一句,如果“他们必须是单独的控制器”的原因是你需要的URL。请记住,您可以使用路由:
Router::connect('/posts', array('controller' => 'posts', 'action' => 'index'));
Router::connect('/comments', array('controller' => 'posts', 'action' => 'list_comments'));
相关问题
- 1. 把根控制器放在哪里?
- 2. 将.NET中的HttpHandler类放在哪里?
- 3. 将CakePHP项目中的自定义类和第三方类放在哪里?
- 4. 我应该在哪里将控制器代码放在angularjs应用程序中
- 5. 把sortBy('name')放在控制器的哪里?
- 6. 把控制器范围的可访问对象放在哪里
- 7. CakePHP - 在哪里放置服务逻辑
- 8. CakePHP:在哪里放置这个功能
- 9. 你在哪里放既不控制器,模型或助手类的ViewModels?
- 10. 将控制器加载到cakephp中的其他控制器中
- 11. laravel在哪里放置记录器类
- 12. 在Rails中将“普通”Ruby类的测试类放在哪里?
- 13. 我在哪里放逻辑来加载视图控制器?
- 14. Django控制器逻辑在哪里?
- 15. 控制器组件在哪里?
- 16. 在哪里放内部类?
- 17. 你在codeigniter中放置了哪些非控制器类?
- 18. 控制反转在哪里控制
- 19. 哪里可以放置控制器的辅助方法?
- 20. CakePHP 3:它将通用DB代码放在哪里?
- 21. CakePHP的 - 控制器
- 22. 在Cakephp中将单元测试函数的公共库放在哪里?
- 23. Xcode Swift如何将UIViewController放置在父UIView控制器下方
- 24. 放在哪里
- 25. cakephp:在哪里放置Configure ::在app_controller中写入?
- 26. 将ajax和非ajax操作放在CakePHP的同一个控制器中
- 27. 缺少控制器CakePHP中
- 28. 在cakephp中使用模型类中的控制器方法
- 29. 故事板中的视图控制器在哪里启动?
- 30. 我的控制器逻辑在Django中去哪里?
不,它不是真的,它只是代码中有一点区别,但是谢谢:) – paradoja 2008-09-26 11:54:30