要在symfony控制器中返回xml响应, 我们需要在控制器中使用Response组件, 然后我们将更改响应的标头以在其上发送特定格式(在这种情况下为xml)。
namespace ourcodeworld\mybundleBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Response;
class myClass extends Controller{
public function xmlresponseAction(){
$xml = '<
?xml version="1.0" encoding="UTF-8"?>
<
urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">
';
$xml .= '<
mynode>
<
content>
Hello<
/content>
<
/mynode>
';
$response = new Response($xml);
$response->
headers->
set('Content-Type', 'xml');
return $response;
}}
你可以根据需要使用simplexmlelement php函数创建xml节点, 或获取树枝视图的内容。
对于symfony> 2.5的版本, 你可以使用以下代码在控制器中返回json响应, 只需包含JsonResponse类并将其作为普通响应返回即可。
namespace ourcodeworld\mybundleBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\JsonResponse;
class myClass extends Controller{
public function jsonresponseAction(){
$myresponse = array(
'success' =>
true,
'content' =>
array(
'main_content' =>
'A long string',
'secondary_content' =>
'another string'
)
);
return new JsonResponse($myresponse);
}}
如果你使用的是较低版本的symfony, 则可以改用以下代码:
namespace ourcodeworld\mybundleBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Response;
class myClass extends Controller{
public function jsonresponseAction(){
$myresponse = array(
'success' =>
true,
'content' =>
array(
'main_content' =>
'A long string',
'secondary_content' =>
'another string'
)
);
$finalResponse = json_encode($myresponse);
$response = new Response($finalResponse);
$response->
headers->
set('Content-Type', 'application/json');
return $response;
}}
【如何使用Symfony 2和3返回xml或json响应】玩得开心 !
推荐阅读
- 如何在Symfony 3表单内使用Twig检索EntityType字段的每个实体实例
- 如何在php或symfony中使用jQuery ajax上传文件
- 如何使用请求ip免费检测php或javascript中访客的国家
- 如何使用tcpdf在Symfony 2和3中使用php创建pdf文件
- 程序员|手把手教你使用 Python 制作贪吃蛇游戏
- “App not not installed”在一台设备上
- Android(了解APK安装过程)
- Android应用程序包在手机上安装在哪里
- 将Git添加到PATH变量 - 在AppData / Local下找不到GitHub