PHPで「Yahoo! ウェブ検索Webサービス」を利用する

(1/2)
XML の扱い方が分かったところで、実際に「Yahoo! ウェブ検索Web サービス」を利用した検索プログラムを作成してみる。

アプリケーションID

Yahoo! ウェブ検索Web サービス」を利用するためには、アプリケーション ID を取得する必要がある。http://e.developer.yahoo.co.jp/webservices/register_application から無料で取得できる。

サンプル・プログラム

ダウンロード(PHP4/5共用)

サンプル・プログラムの解説:前準備

サンプル・プログラムには 2 つの機能を持たせた。
1 つは、そのまま実行すると、検索キーワードを入力する画面を表示する機能である。[検索]ボタンを押下することで、検索結果を表示する。
もう 1 つは、以下の変数を GET 渡しで呼び出すことで、検索結果のみを表示することができる機能である。GET 渡しするパラメータは下記の通り。
space
query検索語必須
result検索結果表示数(0 以上 50 以下の整数)省略可能
site検索対象サイト(ドメイン名)省略可能
まず、取得したアプリケーション ID を変数 $ApplicationID に代入してほしい。

0018: /**
0019:  * Yahoo! JAPAN Webサービス アプリケーションID
0020:  *    アプリケーションIDは、
0021:  *    http://api.search.yahoo.co.jp/webservices/register_application
0022:  *    にて登録してください。
0023:  * @global string $ApplicationID
0024: */
0025: $ApplicationID = 'xxxxxxxxxxxxxxxxxxxxxx';
0026: 
0027: /**

リリース時には、サイバー攻撃を避けるため、PHP のシステム・エラーの出力抑止などを行うべく、変数 $Flag_release を用意した。デバッグ時は FALSE で、リリース時には TRUE に変更してほしい。

0027: /**
0028:  * リリース・フラグ
0029:  * @global bool $Flag_release TRUE/FALSE(公開時にはTRUEにすること)
0030: */
0031: $Flag_release = FALSE;

これにともない、自前のエラー処理ハンドラを用意した。

0033: /**
0034:  * エラー処理ハンドラ
0035: */
0036: function myErrorHandler ($errno$errmsg$filename$linenum$vars) {
0037:     echo "Sory, system error occured !";
0038:     exit(1);
0039: }
0040: error_reporting(E_ALL);
0041: if ($Flag_release)  $old_error_handler = set_error_handler("myErrorHandler");

この項つづく
header