我有一个带有动态表单的laravel项目(从db创建),对于每种表单,我需要为具有不同样式的API创建XML。 如何自动或通过模板创建它们?我的意思是我可以手动创建它们,但是这样会使模型充满数百条代码行。
if($myvar['xyz'] == "foo")
$xml .= "<SOMENODE>$myvar['xyz']</SOMENODE>";
}
但是某些元素也有子元素... 有没有更优雅的方式?
谢谢 问候
答案 0 :(得分:1)
我创建了Laravel包来简化API的XML响应:https://github.com/mtownsend5512/response-xml
使用该软件包,就像设置一个数组或集合以指定所需的格式一样简单。这是使用该软件包的简单示例:
$products = Product::all();
$array = [
'status' => 'success',
'data' => $products
];
return response()->xml($array);
这是一个非常简单的例子。如果您需要更完整的响应转换器设置,建议您将Spatie's Laravel Fractal package与我自己一起使用。这将帮助您按照所需的方式格式化数据,并获得完全有效的xml。
这应该为您提供开始所需的一切。