Итак, я пытаюсь создать мобильное приложение для Android и использую CakePHP в качестве серверной части. Мне не понадобятся представления HTML, я буду отвечать только объектами JSON.
Я просмотрел http://book.cakephp.org/2.0/en/core-libraries/components/request-handling.html#RequestHandlerComponent и с этим я создал это:
class LocationsController extends AppController
{
public $helpers = array('Html', 'Form');
public $components = array('RequestHandler');
function index()
{
$locations = $this->Location->getNearest();
$this->set(compact('locations'));
$this->set('_serialize', array('locations'));
}
}
и я добавил это в свой routes.php
:
Router::mapResources('locations');
Router::parseExtensions('json');
Когда я запускаю это, ничего не отображается, кроме стиля макета CakePHP по умолчанию. Если я удаляю файл представления index.ctp, я получаю сообщение об ошибке, что он не может найти файл представления. Почему он все еще требует файл просмотра? Я думал, что при сериализации подход не нуждается в представлении. Я попытался посмотреть в консоли разработчика Google Chrome, и там нет ответа, содержащего объект JSON. Тем не менее, MySQL работает отлично.