У меня уже есть мобильное приложение, которое извлекает некоторые данные из базы данных, показывает их пользователю с помощью php-скриптов, которые выполняют запросы в базе данных, и возвращает json с результатами в мое приложение.
У меня также есть настольное приложение, которое использует другие php-скрипты для извлечения данных в одной базе данных, а следующим шагом также является реализация веб-сайта.
Теперь я думаю, что наличие сценария для каждой операции, что поддержка моего приложения не является лучшей практикой, поэтому я решил использовать инфраструктуру Symfony для более удобного управления сценариями на сервере.
На данный момент я создал новый проект PHP Symfony, реплицировал свою базу данных на localhost, сгенерировал пакет для операций db, отобразил таблицы sql, сгенерировал объекты и сгенерировал crud-контроллер для каждого объекта.
Теперь я не знаю, как идти дальше.
Как я могу заставить мой проект возвращать только json-сообщения для каждой операции (а не html-страницу с результатом, как это происходит по умолчанию)?
Вы должны вернуть строку json в конце действия!
например
public function ajaxAction(Request $request){
//get some data from doctrine, do other stuff
//generate a json string from it and return it
$json = json_encode($data);
$response = new Response($json, 200);
$response->headers->set('Content-Type', 'application/json');
return $response;
}
Теперь ваш маршрут для этого действия возвращает строку json!