在CakePHP 1.2中,有一个控制器函数调用另一个控制器函数

问题描述

| 如何在内部使用
doSearch()
函数获得
Search
控制器以在
Titles
控制器中调用
getTitles()
函数?     

解决方法

        简短的答案是,您不应该这样做。您应该将其移至Title模型,或者将其放入组件或帮助程序中以进行重用。 如果您确定要直接调用控制器,Cake确实为此提供了一种方法 http://book.cakephp.org/2.0/en/controllers.html#Controller::requestAction     ,        没有理由去另一个控制器。 控制器应该主要从模型调用方法。因此应该有一个包含所需方法的标题模型。 如果需要更多帮助,请发布代码。     ,        因此,答案是:
$this->requestAction(\'/controller/action/params\');
    ,        使您想重用组件的功能并不总是像Cakephp一样运作良好,不能引入Models和find()以及set-> $ this等。另一种方法是使核心功能成为核心功能,然后返回$结果,调用此功能,例如$ results = $ this-> function_within_controller();。因此您可以通过这种方式重用该功能。有时在尝试使用组件时会遇到错误的错误,在Cakephp中,组件很适合使用独立的php脚本和代码。