为应用响应创建 XML 模板
Create an XML template for app response
这是我的代码...
$app->post(
'/chk_db',
function () use ($app){
require_once 'lib/mysql.php';
$dx = connect_db('MyPhotos');
//XML RESPONSE
$app->response->setStatus(0);
$res = $app->response();
$res['Content-Type'] = 'application/xml';
$view = $app->view();
$view->setTemplatesDirectory('./');
$oArray = array("Status"=> $dx.status, "code" => $dx.code);
return $app->render('chkdb.xml', $oArray);
}
);
我想知道如何创建可以处理我的输入的 chkdb.xml 模板..
然后会输出如下..
<MyPhotos>
<Status>success</Status>
<code>0</code>
</MyPhotos>
提前致谢....
编辑:已回答..谢谢 alexw
如果您使用Twig,您可以只使用双花括号占位符中的数组键。因此,如果您的 somearray
是:
$somearray = [
"status" => "success",
"code" => 0,
"messages" => [
"msg1" => "Hello",
"msg2" => "Goodbye"
]
];
然后您只需制作 XML 模板 (template.xml
):
<MyPhotos>
<Status>{{status}}</Status>
<code>{{code}}</code>
<messages>
{% for message in messages %}
<message>{{message}}</message>
{% endfor %}
</messages>
</MyPhotos>
并渲染它:
$app->render("template.xml", $somearray);
要将 Twig 与 Slim 一起使用,您需要包含 Slim-Views package。配置说明在自述文件中。
这是我的代码...
$app->post(
'/chk_db',
function () use ($app){
require_once 'lib/mysql.php';
$dx = connect_db('MyPhotos');
//XML RESPONSE
$app->response->setStatus(0);
$res = $app->response();
$res['Content-Type'] = 'application/xml';
$view = $app->view();
$view->setTemplatesDirectory('./');
$oArray = array("Status"=> $dx.status, "code" => $dx.code);
return $app->render('chkdb.xml', $oArray);
}
);
我想知道如何创建可以处理我的输入的 chkdb.xml 模板.. 然后会输出如下..
<MyPhotos>
<Status>success</Status>
<code>0</code>
</MyPhotos>
提前致谢....
编辑:已回答..谢谢 alexw
如果您使用Twig,您可以只使用双花括号占位符中的数组键。因此,如果您的 somearray
是:
$somearray = [
"status" => "success",
"code" => 0,
"messages" => [
"msg1" => "Hello",
"msg2" => "Goodbye"
]
];
然后您只需制作 XML 模板 (template.xml
):
<MyPhotos>
<Status>{{status}}</Status>
<code>{{code}}</code>
<messages>
{% for message in messages %}
<message>{{message}}</message>
{% endfor %}
</messages>
</MyPhotos>
并渲染它:
$app->render("template.xml", $somearray);
要将 Twig 与 Slim 一起使用,您需要包含 Slim-Views package。配置说明在自述文件中。