ずっと産業を興し続けてると今度は交通が足りなくなったりして、
でも張り替えも面倒だしそんなに簡単に新しいURIに誘導できるわけではないわけで…
今日どのURIにアクセスすればいいのかあらかじめ教えて欲しいわ…
と言うことで、なんとなくでっち上げました。PHPで。
getRecommendUri();?>
お隣の街の今日のオススメURI。
<a href="” target=”_blank”>crossbreed – MyMiniCity
プログラム内容
でっち上げなのであんまり深くは考えないように(苦笑)本当はJavaScriptでやれば良いんだろうけど、まずは得意なヤツで。
一応、ソース晒しておきます。
mmc_xml.php
<?php
class mmcXml
{
var $city_uri;
var $xml_data;
var $city_data = array();
var $recommend_uri;
function getRecommendUri(){return $this->recommend_uri;}
function setCityUri($city_name){$this->city_uri = 'http://' . $city_name . '.myminicity.com';}
function setXmlData(){$this->xml_data = file_get_contents($this->city_uri . '/xml');}
function setCityData()
{
$parser = new XML_Unserializer(array('parseAttributes' => true));
$parser->unserialize($this->xml_data);
$this->city_data = $parser->getUnserializedData();
}
function setRecommendUri()
{
$env = array(
'ind' => $this->city_data['unemployment'],
'tra' => $this->city_data['transport'],
'sec' => $this->city_data['criminality'],
'env' => $this->city_data['pollution'],
);
krsort($env);
$p = array_shift(array_keys($env));
$this->recommend_uri = $this->city_uri . '/' . $p;
}
// Conctructor
function mmcXml($city_name)
{
require_once './Unserializer.php';
$this->setCityUri($city_name);
$this->setXmlData();
$this->setCityData();
$this->setRecommendUri();
}
}
?>
実行側
<?php
require_once './mmc_xml.php';
$m = new mmcXml('nobodyplace');
var_dump($m->getRecommendUri());
?>
ダウンロード
中身は適宜書き換えてください。
(書き換える場所が分からない人は諦めてください)
ダウンロード
内部処理には、PEAR/XML_SerializerのXML_Unserializerを使用。
で、市民の要求をXMLで取得し、その一番上をURIに反映させているってことで。
適当な仕様なので、街の発展が遅れていて市民の要求するURIに
まだ対応していなかったりしますが、その辺はご愛敬ってことで…
追記
さくらインターネットの環境の関係上、PHP4向けに作られています。PHP5でも動きますけども。
追記:というか。
弾さんのAPI使えばJavaScriptで普通にできるんだけどね…404 Blog Not Found:今日のMyMiniCity – 2007.12.21 + 野良API