저자: Bailang 출처: http://www.manks.top/yii2_xml_response.html.html 이 글의 저작권은 작성자에게 있습니다. 단, 이 글은 작성자의 동의 없이 그대로 유지되어야 합니다. 동의하고 기사 페이지의 눈에 띄는 위치에 제공되어야 합니다. 원본 텍스트에 대한 링크를 제공하십시오. 그렇지 않으면 당사는 법적 책임을 추구할 권리를 갖습니다.
PHP에서 xml을 처리하는 방법은 실제 개발에서는 덜 사용되지만, 사용하게 되면 필연적으로 사용하게 되는데, 정리하자면 여전히 조금 번거롭습니다.
yii2에서 xml이 어떻게 처리되는지 살펴보겠습니다. 생각보다 쉬울 것입니다.
XML 형식으로 데이터를 출력하는 경우를 예로 들어보겠습니다.
출력이기 때문에 웹 요청과 응답이 포함되어야 합니다. 익숙하지 않다면 먼저 HTTP 프로토콜을 이해하면 됩니다.
yii2는 다음 반환 형식을 지원하며 모두 사용자 정의할 수 있습니다.
HTML: yiiwebHtmlResponseFormatter로 구현.
XML: yiiwebXmlResponseFormatter로 구현. JSONP: yiiwebJsonResponseFormatter로 구현
JSONP: yiiwebJsonResponseFormatter로 구현됩니다.
RAW: 서식을 적용하지 않고 직접 응답을 보내고 싶다면 이 형식을 사용하세요.
우리는 XML을 위해 왔습니다.
<span>public</span><span>function</span><span> actionTest () { \Yii</span>::<span>$app</span>->response->format = \yii\web\Response::<span>FORMAT_XML; </span><span>return</span><span> [ </span>'message' => 'hello world', 'code' => 100,<span> ]; }</span>
<span><</span><span>response</span><span>></span><span><</span><span>message</span><span>></span>hello world<span></</span><span>message</span><span>></span><span><</span><span>code</span><span>></span>100<span></</span><span>code</span><span>></span><span></</span><span>response</span><span>></span>
<span>public</span><span>function</span><span> actionTest () { </span><span>return</span> \Yii::<span>createObject([ </span>'class' => 'yii\web\Response', 'format' => \yii\web\Response::FORMAT_XML, 'formatters' =><span> [ \yii\web\Response</span>::FORMAT_XML =><span> [ </span>'class' => 'yii\web\XmlResponseFormatter', 'rootTag' => 'urlset', <span>//</span><span>根节点 </span> 'itemTag' => 'url', <span>//</span><span>单元 </span> ],<span> ]</span>, 'data' => [ <span>//</span><span>要输出的数据 </span><span> [ </span>'loc' => 'http://********',<span> ]</span>,<span> ]</span>,<span> ]); }</span>