CakePHP控制器来自另一个控制器的动作

时间:2013-08-09 09:29:17

标签: php cakephp

我有以下控制器:

App::import('Controller', 'Users');
class EmployeesController extends  AppController
{

}

现在another StackOverflow question说要做以下事情:

<?php
//Import controller
App::import('Controller', 'Posts');

class CommentsController extends AppController {
    //Instantiation
    $Posts = new PostsController;
    //Load model, components...
    $Posts->constructClasses();

    public function index($passArray = array(1,2,3)) {
        //Call a method from PostsController with parameter
        $Posts->doSomething($passArray);
    }
}
?>

但是,如果我尝试将其复制到我的代码中,我的代码看起来像这样:

App::import('Controller', 'Users');

class EmployeesController extends  AppController {

    public $name = 'Employee';
    $Users = new UsersController;

我收到语法错误,如果我运行它仍然会发生致命错误。

所以我的问题是如何从另一个控制器调用函数?

1 个答案:

答案 0 :(得分:2)

你没有。

从您链接的问题中阅读已接受的答案,这是重点。并且,Mark Story(核心CakePHP撰稿人)在评论中赞同它。

我不确切知道您的要求是什么,但您几乎肯定希望将逻辑移到您的模型中。在MVC中,总是会想到'胖模特,瘦小的控制者'。

如果您有更多问题,请在评论中提问或更新您的问题,我会以更多信息更新我的回答。