我是 cakephp 的新手,我想在我的 Controller 中导入 Controller ,所以我使用以下语法。这是我导入用户 Controller 的 Controller :
users_controller.php
function api_work(){ $data = $this->User->find('all'); $this->set('data' , $data); }
plays_controller.php
function api_show()
{
$this->layout= false;
App::import('Controller', 'Users');
$Users = new UsersController;
$Users->constructClasses();
$data = $Users->api_work();
pr($data); //it not display anything and shows error like undefined varia
ble
}
Controller 已成功导入。 问题是如何从 api_work() 函数返回数据?
请您参考如下方法:
CakePHP 是一个 MVC( Model View Controller )。 users_controller 中的 api_work 函数应该位于 User 模型 (User.php) 中。或者,您可以在plays_controller.php中执行$this->User->find('all');
,而不是$Users->api_work()
。
以上建议意味着您需要删除所有这些行:
App::import('Controller', 'Users');
$Users = new UsersController;
$Users->constructClasses();
您还需要确保在 users_controller.php 顶部添加以下内容(就在类声明下方)。
$uses = array([...], 'User'); OR $uses = array('User');
我真的推荐阅读 CakePHP 书 ( http://book.cakephp.org/ )。