Cakephp导入控制器

时间:2012-06-09 05:46:10

标签: cakephp-1.3

我是cakephp中的新手,我想在我的控制器中导入控制器,所以我使用下面的语法。这是我导入用户控制器的控制器:

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
        }

控制器已成功导入。 问题是如何从api_work()函数返回数据?

1 个答案:

答案 0 :(得分:6)

CakePHP是一个MVC(模型视图控制器)。 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/)。