PHP5

コードをあーだこーだと書き換える遊びがはやっているっぽい。
それ Rails Ruby でもできるよ

ウェブアプリ周りは群雄割拠だしさぁ
なるほど。

試しにPHP5でやってみた。

<?php
mb_internal_encoding('UTF-8');

define('APPURL', 'http://api.search.yahoo.co.jp/WebSearchService/V1/webSearch' );
define('MYAPPID', 'YahooDemo' );
define('MAX_RESULTS', 10 );

$result=array();
$hits=0;
$query=$_GET['query'];

if($query!=''){
    $arr=array('appid'=>MYAPPID,'results'=>MAX_RESULTS,'query'=>$query);
    $url = APPURL.'?'.http_build_query($arr);
    $xml = simplexml_load_file($url);
    if($xml!==FALSE){
        $hits=$xml['totalResultsAvailable'];
        $result=$xml->Result;
    }
}
?>
<html>
<body>
<form>
<input type="text" name="query" value="" />
<input type="submit" />
</form>
<?= $hits ?><br />
<ol>
<?php foreach($result as $item) { ?>
<li><a href="<?= $item->ClickUrl ?>"><?= $item->Title ?></a></li>
<?php } ?>
</ol>
</body></html>
  • PHP4でやりたかったけど、XML関連が弱いので、SimpleXMLが使えるPHP5(APIとかPEARにもあるにはあるのだが、SimpleXML程簡素なのはない気がする)。
  • http_build_queryは初めて使ってみた(PHP5から)。ってか使わないほうがタイトになったのかも。
  • hightlight_fileは便利。ただIEだとなんかよく見えないので<code>タグは外した。
  • PHPスクリプトとHTMLコードを同居させるのは…まぁいいかこの際。
  • 関数化してもよかった。にしても、PerlRubyほどタイトには書けない気がする。読みやすいとは思うけど。だからこそJavaの代替物として業務系で扱われているのか。

ってか、レベル3のヘッポコPGなので、こんなものです。