我有以下控制器:
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;
我收到语法错误,如果我运行它仍然会发生致命错误。
所以我的问题是如何从另一个控制器调用函数?
答案 0 :(得分:2)
你没有。
从您链接的问题中阅读已接受的答案,这是重点。并且,Mark Story(核心CakePHP撰稿人)在评论中赞同它。
我不确切知道您的要求是什么,但您几乎肯定希望将逻辑移到您的模型中。在MVC中,总是会想到'胖模特,瘦小的控制者'。
如果您有更多问题,请在评论中提问或更新您的问题,我会以更多信息更新我的回答。