php - 如何在 symfony 中输出 xml?

标签 php xml arrays symfony1

我在数组中有简单的输出数据:

$result = array ('status'=>true, 'message'=>"123123");

我想以 xml 格式输出它。在 symfony 中最好的方法是什么?

我知道我可以像这样手动输入字符串:

return $this->renderText('<xml><status>true</status><message>123123</message></xml>');

但我正在寻找更简单的东西。类似于 json_encode(); :-)

最佳答案

我认为最好的方法是使用具有所需格式的模板(不是简单的)。这样,您可以根据需要轻松更改格式,而无需附加到一个实现。此外,使用路由,只需执行一个操作,您就可以自动定义必须使用哪个模板。例如,使用如下路线:

jobs:
  url: /api/jobs.:sf_format
  param: { module: api, action: list }
  requirements:
    sf_format: (?:xml|json|yaml)

通过 /api/jobs.xml 访问将使用 listSuccess.xml.php,通过 /api/jobs.json < em>listSuccess.json.php 和 /api/jobs.yaml listSuccess.yaml.php。为每个人制作一个模板,如

<!-- apps/frontend/modules/api/templates/listSuccess.xml.php -->
<?xml version="1.0" encoding="utf-8"?>
<jobs>
<?php foreach ($jobs as $url => $job): ?>
  <job url="<?php echo $url ?>">
<?php foreach ($job as $key => $value): ?>
    <<?php echo $key ?>><?php echo $value ?></<?php echo $key ?>>
<?php endforeach ?>
  </job>
<?php endforeach ?>
</jobs>

你只需要在列表操作上做正确的查询:) 这样你就需要编写一些代码,但你可以根据需要更改格式并简单地输出多个(如 xml、json、yaml 等)通过制作合适的模板。使用这个想法,我制作了一个通用的 REST 服务,现在我只需要进行查询。这是Jobeet Web Services Example的简历,有关更多详细信息,请检查。

关于php - 如何在 symfony 中输出 xml?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5465571/

相关文章:

php - 如何根据屏幕大小在php中调整图像大小?

php - Cakephp 3 无法从插件加载类

ruby - 使用 Nokogiri 获取嵌套在 div 元素中的 div

javascript - 将索引数组与 "Associative Array"混合

arrays - 使用与值匹配的键对映射数组进行排序 GO

php - 如何在 echo <td> 中应用样式?

php - CakePHP:-bash:蛋糕:找不到命令

c++ xml字符串-缺少所需的空格

java - 如何阻止 Simple 将 `class` 属性写入 XML 文件?

javascript - 获取 Javascript 关联数组的一部分?