単純な HTML ファイルを使用してサーバー側スクリプトにリクエストを送信し、そのリクエストに基づいてカスタム XML ファイルを受信し、ブラウザを更新することなくそれをユーザーに表示できることを想像してみてください。この記事の著者は、通常の Web アプリケーションで PHP と AJAX テクノロジを組み合わせて、ブラウザを更新せずにリアルタイムのデータ送信を作成する方法を一緒に検討します。
この記事では PHP を使用していますが、サーバー側の言語はどれでも問題なく動作することに注意してください。この記事を理解するには、JavaScript と PHP、または同様のサーバーサイド言語についての基本的な理解があることを前提としています。
この記事の例では、AJAX を使用して、RSS フィードからカスタム PHP オブジェクトにリクエストを送信します。この PHP オブジェクトは、ローカル サーバー上のフィードをコピーし、このパスを返します。リクエスト オブジェクトはこのパスを受け取り、解析し、データを HTML 形式でユーザーに表示します。これは多くのステップのように思えますが、実際には 4 つの小さなファイルだけで構成されています。 4 つの小さなファイルが使用される理由は、それぞれの固有の長所のバランスをとり、システム全体のプロセスを非常に効率化するためです。
読者の中には、なぜ元のフィードを解析するのではなく、ローカル サーバー上にフィードのコピーを作成するのか疑問に思う人もいると思います。その理由は、これにより、XML HTTP リクエスト オブジェクトによって課せられるクロスオリジン制限をバイパスできるためです。このカスタム PHP オブジェクトの作成方法については後で説明しますが、まずフォームの作成から始めましょう。
リクエストを行うためのフォームを作成します
最初に行う必要があるのは、HTML の head タグの間に使用する JavaScript および CSS ファイルを含めることです。アグリゲーターの最終レイアウトを実装するためのスタイルシートと、リクエストを作成してフィード分析を行うための JavaScript ファイルを含めました。
<script src="js/request.js"></script> |
フィードを入力します: <input type="submit" name="submit" value="フィードを追加"> </フォーム> <div id="ロゴ"></div> <div id="コピー"></div> <div id="詳細"></div> </本文> |
$dir = "rss"; if(!is_dir($dir)) { mkdir($dir, 0666); } |
$path="$dir/$file.xml"; |
$path を返します; 以下は、小さいながらも強力な RSS クラス全体です: <?php クラスRSS { 関数get($rss_url) { if($rss_url != "") { // ディレクトリが存在しない場合は作成します $dir = "rss"; if(!is_dir($dir)) { mkdir($dir, 0666); } //一意の名前を作成します $file = md5($rss_url); $path = "$dir/$file.xml"; //フィードをローカルサーバーにコピーします コピー($rss_url, "$path"); $path を返します; } } } ?> |
<? if($パスワード == "私のパスワード") { require_once(classes/RSS.class.php); $rss = 新しい RSS(); echo $rss->get($request); } それ以外 { echo "あなたは不正なユーザーです"; } ?> |