ホームページ >バックエンド開発 >PHPチュートリアル >xml形式のデータを出力するYii2メソッド
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 チュートリアルに興味のある友人の参考になれば幸いです。