インフラの中身
前述したパイプラインとのデータのやりとりは,
下記のサンプルを見てください。同じ情報を扱うにも,
例:XML
<?xml version="1.0" encoding="utf-8"?>
<items>
<item>
<id>1</id>
<lat>35.686880</lat>
<lng>139.765047</lng>
<headline>東京都千代田区大手町</headline>
<description>わたしのオフィスが入ってます。</description>
</item>
<item>
<id>2</id>
<lat>34.685568</lat>
<lng>135.527467</lng>
<headline>大阪府大阪市中央区大阪城1</headline>
<description>大阪城があります。</description>
</item>
</items>
例:JSON
{items:[
{
id:1,
lat:35.686880,
lng:139.765047,
headline:"東京都千代田区大手町",
description:"わたしのオフィスが入ってます。"
},
{
id:2,
lat:34.685568,
lng:135.527467,
headline:"大阪府大阪市中央区大阪城1",
description:"大阪城があります。"
}
]};
さて,
- 他APIからXML形式データを受信し,
JSON形式に変換し, JavaScriptに送信する。 - 他APIからJSON形式データを受信し,
そのままJavaScriptに送信する。
このうち,
他サーバのAPIのURLはhttp://
ここでは,
<?php
//上記のPHP XML Libraryを読み込みます
include('xml.php');
//対象になる他サーバのAPIからデータを読み込みます
$url = "http://www.hoge.com/testAPI.xml";
$xml = file_get_contents($url) or die("error");
//読み込んだXMLデータを配列$dataに取り込みます
$data = XML_unserialize($xml);
//XMLにおいて,<items>にぶら下がる<item>群だけをまとめて配列に取り込みなおします
$items = $data["items"]["item"];
//JSONを出力する際に利用する配列を作成し,初期化します。
$jsArray = array();
//<item>群の数だけ繰返処理をします
foreach($items as $value){
//利用しやすいように各値を変数に設定します
$item_id = $value[$i]["id"];
$item_lat = $value[$i]["lat"];
$item_lng = $value[$i]["lng"];
$item_headline = $value[$i]["headline"];
$item_description = $data["items"]["item"][$i]["description"];
//JSONの値の組み合わせを作成します
$addJS='{id:"'.$item_id.'",lat:"'.$item_lat.'",lng:"'.$item_lng.'",headline:"'.$item_headline.'", description:"'.$item_description.'"}';
array_push($jsArray,$addJS);
}
//出力用に,JSONの仕様通りに整形します
$output_json = "{items:[";
$output_json .= join(",",$jsArray);
$output_json .= "]};";
//JSONを出力します
echo $output_json;
?>
上記の例をコピーアンドペースト,
ウェブサイトの構築は,
マッシュアップとは,
たとえばYouTubeやAmazonなどで用いられている5つ星の評価システムは秀逸ですが,
プログラムを書く役割であなたがするべきなのは,
あなたは金融システムのインフラをつくるのではありません。いかに困難でセーフなプログラムを何万行も使って実現したかというのは,
いかにあっさりとその便利なマッシュアップをつくり,
次回はユーザー側インターフェースについて見ていきます。