>  기사  >  백엔드 개발  >  XML 형식 데이터를 출력하는 Yii2 방법

XML 형식 데이터를 출력하는 Yii2 방법

WBOY
WBOY원래의
2016-07-29 08:51:381060검색

PHP에서 xml을 처리하는 방법은 실제 개발에서는 덜 사용되지만, 사용하게 되면 필연적으로 사용하게 되는데, 정리하자면 여전히 조금 번거롭습니다.

yii2에서 xml이 어떻게 처리되는지 살펴보겠습니다. 생각보다 쉬울 것입니다.

XML 형식으로 데이터를 출력하는 경우를 예로 들어보겠습니다.

출력이기 때문에 웹 요청과 응답이 반드시 포함되어야 합니다. 익숙하지 않다면 먼저 HTTP 프로토콜을 이해하면 됩니다.

yii2는 다음 반환 형식을 지원하며 모두 사용자 정의할 수 있습니다.

html: YiiwebhtmlResponseFormatter에 의해 구현됨.

XML: YIIIWEBXMLRESPONSEFORMATER에 의해 구현됨.
JSONP: YiiwebjsonResponseFormatter에 의해 구현됨
raw: 적용하지 않고 직접 응답을 보내려면 이 형식을 사용하세요. 어떤 형식이든 가능합니다.


우리는 XML을 위해 왔습니다.


먼저 간단한 출력 xml 형식 데이터를 살펴보겠습니다


public function actionTest () { 
\Yii::$app->response->format = \yii\web\Response::FORMAT_XML; 
return [ 
'message' => 'hello world', 
'code' => 100, 
]; 
}
여기서 응답 형식 FORMAT_XML을 지정하고 다음으로 액세스합니다. 테스트 방법을 보면


<response> 
<message>hello world</message> 
<code>100</code> 
</response> 
페이지에 xml 형태의 데이터가 출력되는 것을 볼 수 있다. 위에서 언급한 방법은 조금 번거롭기는 하지만, 실행하면 별 문제가 되지 않는다. 여러 항목을 구성하는 것이 편리하므로 직접 응답 개체를 만들어 보겠습니다


public function actionTest () { 
return \Yii::createObject([ 
'class' => 'yii\web\Response', 
'format' => \yii\web\Response::FORMAT_XML, 
'formatters' => [ 
\yii\web\Response::FORMAT_XML => [ 
'class' => 'yii\web\XmlResponseFormatter', 
'rootTag' => 'urlset', //根节点 
'itemTag' => 'url', //单元 
], 
], 
'data' => [ //要输出的数据 
[ 
'loc' => 'http://********', 
], 
], 
]); 
}
다음 설명을 쉽게 하기 위해 위 구성을 함께 수행했습니다. 구성을 참조하세요. 응답 형식을 결정하기 위해 루트 노드 rootTag, 단위 itemTag 및 데이터 유형 구성을 포함하여 일부 구성이 별도로 이루어졌습니다. 일부 학생들은 여기서 우리가 실제로 매우 간단하게 xml 형식의 사이트 맵 출력을 구현했다는 것을 알아차렸습니다. 예, 아주 간단합니다.


위 내용은 관련 내용을 포함하여 Yii2가 xml 형식의 데이터를 출력하는 방법을 소개한 내용이 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.