gpt4 book ai didi

php - 如何在 symfony 中输出 xml?

转载 作者:数据小太阳 更新时间:2023-10-29 02:48:43 24 4
gpt4 key购买 nike

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

$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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com