【发布时间】:2013-08-11 04:49:14
【问题描述】:
我有以下控制器:
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;
我得到一个语法错误,如果我仍然运行它,我会得到一个致命错误。
所以我的问题是如何从另一个控制器调用函数?
【问题讨论】:
-
你在那里做的事情是非常错误的。您可能永远不会像这样在其他人中包含控制器。使用模型或组件来共享功能。还要删除 $name 的东西。在您的情况下,无论如何它都宣布错误。你也不要在 CakePHP2.x 中使用 App::import()。 PS:您应该始终提及您正在使用的确切 cakephp 版本。