Cakephp导入控制器

dec*_*ohn 2 cakephp-1.3

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

users_controller.php中

 function api_work(){ $data = $this->User->find('all'); $this->set('data' , $data); }
Run Code Online (Sandbox Code Playgroud)

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
        }
Run Code Online (Sandbox Code Playgroud)

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

iDe*_*247 6

CakePHP是一个MVC(模型视图控制器).users_controller中的api_work函数应该在User模型(User.php)中.或者你可以$this->User->find('all');在plays_controller.php而不是$Users->api_work().

以上建议意味着您需要删除所有这些行:

App::import('Controller', 'Users');
$Users = new UsersController;
$Users->constructClasses();
Run Code Online (Sandbox Code Playgroud)

您还需要确保在users_controller.php的顶部添加以下内容(在类声明下).

$uses = array([...], 'User'); OR $uses = array('User');
Run Code Online (Sandbox Code Playgroud)

我真的建议你阅读CakePHP书(http://book.cakephp.org/).