让一个控制器函数在CakePHP 1.2中调用不同的控制器函数

时间:2011-06-01 07:43:03

标签: cakephp controller cakephp-1.2

如何在内部使用Search函数调用我的doSearch()控制器来调用getTitles()控制器中的Titles函数?

4 个答案:

答案 0 :(得分:8)

简短的回答是,你不应该这样做。您应该将其移动到Title模型,或者将其放在组件或帮助器中以便重复使用。

如果您确定要直接调用控制器,那么Cake会为此提供一种方法

http://book.cakephp.org/2.0/en/controllers.html#Controller::requestAction

答案 1 :(得分:1)

没有理由去另一个控制器。

控制器应该主要从模型中调用方法。所以应该有一个包含你需要的方法的标题模型。

如果您需要更多帮助,请发布您的代码。

答案 2 :(得分:0)

所以答案,以供将来参考:

$this->requestAction('/controller/action/params');

答案 3 :(得分:0)

制作你想要重用组件的功能并不总是像Cakephp一样好用,没有引入Models和find(),以及set-> $ this等另一种方法是让你的核心功能成为核心函数然后返回$ results,调用此函数,如$ results = $ this-> function_within_controller();所以你可以用这种方式重用这些功能。我在Cakephp中尝试使用组件时会遇到各种错误,组件适合使用独立的PHP脚本和代码。