我的Cake应用程序中有一些控制器,即servers和users.我想编写一个简单的API并调用一个控制器ApiController.在这个控制器中我想同时使用servers和users模型.
我是Cake的新手,但不是MVC.从我到目前为止所发现的,Cake将自动使用控制器中的servers模型ServersController,我不知道如何明确地使用某个控制器的模型.
此外,我希望API请求仅在没有任何HTML标记的情况下提供JSON.我有一个默认布局,定义了我所有网站页面的页眉/页脚,当我请求API函数以及视图中的JSON时,它会输出.如何停止输出布局,而只是为视图提供服务?
931*_*.93 14
您需要$uses在控制器中声明属性,请参阅http://book.cakephp.org/2.0/en/controllers.html#controller-attributes
该$uses属性说明哪些模型可供控制器使用:
<?php
class ApisController extends AppController{
public $uses = array(
'User',
'Server'
);
}
Run Code Online (Sandbox Code Playgroud)
此外,您似乎没有遵循Cake命名约定,其中控制器名称是复数(Apis或Servers),模型名称是单数(Api或Server).这些名称也应该在CamelCase中.有关更多信息,请参阅http://book.cakephp.org/2.0/en/getting-started/cakephp-conventions.html
关于JSON,您可以使用Ajax布局来帮助您服务JSON请求.有关如何实现此目的的更多信息,请参阅http://book.cakephp.org/2.0/en/views.html#layouts.