phpその1(DEC) > phpその2(DEC)> php10days

第6日 XML+Webサービスでより高度なデータ処理

1時限目:RssWriterライブラリでサイト情報をらくらく発信
2時限目:Soap関数でAmazon Webサービスを導入
3時限目:SimpleXml関数活用でXML形式の設定ファイルを活用する
XML(eXtensible Markup Language)は、もはや特別な技術ではなくなりました。 XMLを基礎技術とするさまざまなアーキテクチャーシステム間の連携を可能にする「Webサービス」やWebサイトの新着情報を配信するための標準的な「RSS(RDF Site Summary)」フォーマットなど。

◆◆◆◆まとめ(1時限目)◆◆◆◆

●RSSを利用することで、サイトの新着情報を手軽に配信することができます。
●RSSwriterクラスは、与えられたデータに基づいてRSSデータを出力するためのクラス・ライブラリです。
●クラスとは、「データを操作するためのさまざまな機能」を兼ね備えた高度な器です。
●クラスを利用する際しては、必ずコピーを作成する必要があります。クラスを作ることを「インスタンス化」といい、インスタンス化によってできたコピーのことを「オブジェクト」といいます。
●PHP上でインスタント化を行なうには、new演算子を利用します。
●クラスの配下には、関数や変数が定義されています。これを「メソッド」「プロパティ」と言います。メソッドやプロパティを呼び出すには「->」演算子を使用します。
★自サイトの新着情報をいち早く多くのユーザに知らせる。

06サンプル(day06-1) ①rss_output.phpファイル  △ day6-1.htmlファイル(ソース)
②data.datファイル day6-1.htmlファイル(ソース)
①・外部ライブラリをインクルード・RSSWrierオブジェクトを生成する・サマリ情報を登録する・RSS文書の出力。
②data.datの中身。

◆◆◆◆まとめ(2時限目)◆◆◆◆

●Webサービスとは、ネットワーク越に利用可能なオブジェクト(クラスライブラリ)のことを言います。
●XML形式は「タブを自由に設計できる」「構造を表現できる」などの利点から、急速に普及してきたデータ記述言語です。
●XMLは、WebサービスやRSS、設定ファイルのフォーマットなど、さまざまな用途で利用されています。
●PHPからWebサービスを利用するには、Soap関数を利用します。
●Webサービスの多くはUTF-8でデータの交換を行ないます。PHPアプリケーションから利用する場合には入出力値をコード変換する必要があります。
●文字コードの変換を行なうには、mb_convert_encoding/mb_convert_variables関数を使います。
★ネットワークのまったく別の場所で公開されている機能を、あたかも自分自身で提供している仕組みであるかのように利用。

06サンプル(day06-2) ③amazon.phpファイル  × day06-2.htmlファイル(ソース)
③Amazon.co.jpで公開しているWebサービスを利用。

◆◆◆◆まとめ(3時限目)◆◆◆◆

● SimpleXml関数を利用することで、XML文書に直感的にアクセスできるようになります。
●print_r関数は、配列やオブジェクトなどの構造化データの中身を確認する場合に便利な関数です。
●RSSデータを解析するには、MagpieRssライブラリを利用すると便利です。
★第3者がすでにインターネット上で公開しているRSS文書を取り込んで、自分のサイトで公開。

06サンプル(day06-3) ④rss.phpファイル  △ day06-3.htmlファイル(ソース)
  ⑤rss.xmlファイル day06-3.htmlファイル(ソース)
④・MagpieRssライブラリをインクルード・RSS.xmlを読み込み・取得したURLから得たRSS文書を解析・Title要素が空かどうかによって表示内容を切り替え・site要素の内容を順番に読込み。
⑤PHP5から導入されたSimpleXmi関数を利用して、XML形式で記述された設定ファイルを読み込む。