ホームページ >バックエンド開発 >PHPチュートリアル >xml形式のデータを出力するYii2メソッド

xml形式のデータを出力するYii2メソッド

WBOY
WBOYオリジナル
2016-07-29 08:51:381102ブラウズ

PHPでのXml処理は実際の開発ではあまり使われませんが、使う場合は必然的に使われますが、まとめるとやはり少し面倒です。

yii2 で XML がどのように処理されるかを見てみましょう。思ったよりも簡単です。

xml形式でデータを出力する場合を例に挙げます。

出力されるため、Web リクエストとレスポンスが含まれる必要があります。慣れていない場合は、まず HTTP プロトコルを理解してください。

yii2 は次の戻り形式をサポートしており、すべてカスタマイズできます。

HTML: yiiwebHtmlResponseFormatter. によって実装されます。
XML: yiiwebXmlResponseFormatter. によって実装されます。
JSON: yiiwebJsonResponseFormatter. によって実装されます。
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 を指定し、このテスト メソッドにアクセスして、XML 形式のデータがページに出力されることを確認します

<response> 
<message>hello world</message> 
<code>100</code> 
</response> 

上記の方法は、複数の項目を設定する場合にはあまり便利ではないので、自分で応答オブジェクトを作成してみましょう

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 までご連絡ください。