在控制器中,调用另一个控制器的操作并传递数组作为参数的最合适方法是什么?
我知道您可以使用 requestAction 来调用其他控制器中的操作。但是是否可以使用请求操作将数组作为参数传递?
不,我不想将操作放入应用程序控制器中。所以这对我来说不是一个解决方案。
我知道的唯一其他方法是加载其他控制器,如下所述:http://book.cakephp.org/1.3/en/The-Manual/Developing-with-CakePHP/Configuration.html#importing-controllers-models-components-behaviors-views-and-helpers http://book.cakephp.org/1.3/en/The-Manual/Developing-with-CakePHP/Configuration.html#importing-controllers-models-components-behaviors-views-and-helpers
但是有没有一种更简单的方法可以在传递数组作为参数的同时调用其他控制器操作?
我是 cakePHP 的新手,所以任何建议都会受到赞赏。谢谢。
我不建议使用 requestAction 方法,而是导入并实例化所需的控制器。
CakePHP 文档关于 requestAction 的说法是:
“很少适合在
控制器或模型”
http://book.cakephp.org/view/434/requestAction http://book.cakephp.org/2.0/en/controllers.html#Controller::requestAction
导入并加载控制器后,您可以使用其参数调用该控制器的任何方法。
<?php
//Import controller
App::import('Controller', 'Posts');
class CommentsController extends AppController {
//Instantiation
$Posts = new PostsController;
//Load model, components...
$Posts->constructClasses();
function index($passArray = array(1,2,3)) {
//Call a method from PostsController with parameter
$Posts->doSomething($passArray);
}
}
?>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)