corner imagecorner image
FeaturesPluginsDocs & SupportCommunityPartners

PHP の SaaS: Yahoo News サービスのチュートリアル

NetBeans IDE は、PHP での SaaS (Software as a Service) アプリケーションをサポートしています。SaaS はソフトウェアアプリケーション配布モデルの 1 つであり、このモデルは、ソフトウェアベンダーが Web 固有のソフトウェアアプリケーションを開発し、そのアプリケーションを顧客がインターネット上で使用できるようにホストして運用する環境を実現します。SaaS モデルは、コストと顧客のハードウェアリソースの両面から、ソフトウェアの機能を経済的に提供できるモデルとして普及しつつあります。Netbeans 6.5 で SaaS の PHP サポートを使用すると、PHP 開発者は、IDE の「サービス」ウィンドウから PHP ファイルにドラッグ&ドロップするだけで、Google マップ、Yahoo News などの人気のある Web サービスを利用できます。

このチュートリアルでは、Yahoo News Search サービスを使用して、Saas の PHP サポートを紹介します。

目次

このページの内容は NetBeans IDE 6.5 が対象です

このチュートリアルに従うには、次のソフトウェアとリソースが必要です。

ソフトウェアまたはリソース 必須バージョン
NetBeans IDE SaaS サービスを含む PHP ダウンロードバンドル 6.5
コード生成プラグイン (PHP カテゴリ)
PEAR を含む PHP エンジン
(PHP Web サービスパッケージ)
version 5。スタンドアロンコンポーネントまたは AMP パッケージ
NetBeans での PHP 開発入門」を参照
Web サーバーApache HTTP サーバー (推奨)
Web サーバは AMP パッケージに含まれています。

PEAR パッケージのインストールと設定

PHP で SaaS サービスを使用するためには、PEAR (PHP Extension and Application Repository) がインストールされている必要があります。PEAR のインストール後、php.ini ファイルの include_path 変数に PEAR のパスをインクルードします。それから、次の PEAR パッケージをインストールします。

  • Http_Request
  • Net_URL
  • Net_Socket

PEAR のインストールおよび設定の手順は、使用しているオペレーティングシステムと、インストールしている場合は AMP パッケージに応じて異なります。たとえば、Xampp パッケージで PEAR をインストールするには、次の手順に従います。

  1. Xampp の go-pear スクリプトを実行して PEAR をインストールします。このスクリプトの場所は、OS ごとに異なります。これによって、PEAR ディレクトリが作成されます。作成される場所は OS によって異なります。
  2. php.ini を開き、新しく作成された PEAR ディレクトリのパスを、オペレーティングシステムの include_path 変数に追加します。include_path がコメントアウトされている場合は、コメントを解除します。たとえば、Mac OS で Xampp を使用すると、include_path 変数は次のようになります。
    include_path=".:/Applications/xampp/xamppfiles/lib/php:/Applications/xampp/xamppfiles/lib/php/pear"

    G:/ のルートに Xampp がインストールされている Windows で Xamp を使用すると、include_path 変数は次のようになります。

    ; Windows: "\path1;\path2"
      include_path = ".;G:\xampp\php\pear\"
  3. 任意で、Path 環境変数に PEAR のパスを追加します (Windows の場合)。
  4. PEAR ディレクトリでコマンドプロンプトを開き、pear install Http_Request コマンドを実行します。これにより、Http_Request パッケージおよび Http_Request と依存関係があるパッケージがインストールされます。これには、Net_URL と Net_Socket も含まれます。これらのパッケージがすでにインストールされている場合、PEAR は「Nothing to install」と返します。

PHP プロジェクトの作成

PHP と PEAR を設定したあと、Yahoo News サービスを使用する PHP プロジェクトを作成します。

プロジェクトを作成するには、次の手順に従います。

  1. 「ファイル」>「新規プロジェクト」を選択します。「カテゴリ」で「PHP」を選択します。「プロジェクト」で「PHP アプリケーション」を選択して、「次へ」をクリックします。「名前と場所」ページが開きます。「名前と場所」ページを示す「新規 PHP プロジェクト」ウィザード
  2. プロジェクトに YahooNewsApp という名前を付けます。そのプロジェクトを NetBeansProjects フォルダに保存します。「次へ」をクリックします。「実行構成」ページが開きます。「実行構成」ページを示す「新規 PHP プロジェクト」ウィザード
  3. 「実行方法」ドロップダウンリストで、「ローカル Web サイト (ローカル Web サーバーで実行中)」を選択します。「プロジェクト URL」フィールドに、「http://localhost/news」と入力します。「ファイルをソースフォルダから別の場所にコピー」を選択します。「フォルダにコピー」フィールドの横にある「参照」をクリックします。「フォルダの場所を選択」ダイアログを開きます。
    「フォルダにコピー」の参照ダイアログ

    ローカルホストで PHP ファイルを公開している親フォルダを参照します。Xampp の場合、news という名前の新しいサブフォルダを作成するのは XAMPP_HOME/xampp/htdocs です。「開く」をクリックすると、ダイアログが閉じます。これで、「実行構成」ページの「フォルダにコピー」フィールドに、news フォルダへのパスが入ります。「完了」をクリックします。

IDE はプロジェクトを作成し、ソースフォルダを Web サーバーで公開されるディレクトリにコピーします。プロジェクトの index.php ファイルがエディタで開きます。ファイルエクスプローラを開き、index.php が正しいディレクトリにコピーされていることを確認します。

NetBeans のプロジェクトと Web サーバーで公開されるフォルダに同じ index.php ファイルがあることを示すエクスプローラウィンドウ

Yahoo News Web サービスの追加と実行

「サービス」ウィンドウの Web サービスマネージャーから操作をドラッグして PHP ファイルの本文にドロップし、SaaS 操作を PHP ファイルに追加します。

Yahoo News サービスを PHP プロジェクトに追加するには、次の手順に従います。

  1. IDE のエディタでプロジェクトの index.php ファイルを開き、「サービス」ウィンドウを開きます。
  2. 「サービス」ウィンドウで、「Web サービス」ノードを展開し、「Yahoo」>「News Search Service」>「[newsSearch]」>「search」に移動します。
    Yahoo の Web サービスが展開された「サービス」タブ。News Search の「search」操作を示す
  3. エディタで、index.php から既存の <?php...?> タグを削除します。「サービス」ウィンドウから search 操作をドラッグし、index.php の <body> 要素にドロップします。入力パラメータの初期値を設定するダイアログが開きます。
    Yahoo News サービスの search 操作を index.php にドラッグ&ドロップした結果として開く、入力パラメータのダイアログ
  4. 入力パラメータはすべてデフォルトの値のままにしてかまいません。「query」パラメータは、検索するニュース内容の主題を表し、任意の値を設定できます。例では「php」が設定されているので、サービスは PHP に関する内容を検索します。「NetBeans」、「football」などを設定できます。終了したら、「了解」をクリックします。IDE は、Yahoo News Search サービスを呼び出す PHP を、選択したパラメータとともに index.php の本文に挿入します。
    <body>

    <?php

    require_once "org_netbeans_saas_yahoo/YahooNewsSearchService.php";
    ?>

    <?php
    $query = "php";
    $type = "all";
    $results = 10;
    $start = 1;
    $sort = "rank";
    $language = null;
    $output = "xml";
    $callback = null;

    $result = YahooNewsSearchService::search($query, $type, $results, $start, $sort, $language, $output, $callback);
    echo $result->getResponseBody();
    ?>

    </body>
  5. 魅力ある読み取り可能なフォームで出力が表示されるように、PHP をカスタマイズします。これを行わずにファイルを実行すると、ブラウザは無限にラップされた行にすべてのニュース項目を表示します。次の例では、echo $result->getResponseBody(); の行はコメントアウトされ、新しい出力コードが追加されています。
    //この行をコメント化
    //echo $result->getResponseBody();
    
    //ニュースを効果的に表示するために、次の行を追加。
    $xml = $result->getDataAsXml();
    echo "<h2>Yahoo news search results for ".$query."</h2>";
    foreach ($xml->Result as $item) {
        echo "<a href=\"".$item->Url."\" target=\"_blank\">".$item->Title."</a><br/>";
        echo $item->Summary."<br/><br/>";
        }
  6. API キーを構成します。Yahoo News Search では API キーは必要ありませんが、空ではない値を渡す必要はあります。「プロジェクト」ウィンドウで org_netbeans_saas_yahoo パッケージを展開し、エディタで YahooNewsSearchAuthenticatorProfile.php を開きます。$api_key 変数に空ではない任意の値を入力します。
    YahooNewsSearchAuthenticatorProfile.php の $api_key に割り当てられた任意の値を示す、IDE の「プロジェクト」タブおよびエディタ
  7. PHP エンジンを起動します。
  8. 「プロジェクト」ウィンドウで index.php を右クリックし、コンテキストメニューから「実行」(Shift-F6) を選択します。ブラウザウィンドウが開き、「query」パラメータの値と一致するニュース結果がすべて表示されます。
    PHP で検索した Yahoo News サービスのブラウザウィンドウでの結果


関連項目

NetBeans IDE を使用して PHP プロジェクト、RESTful Web サービス、SaaS、およびその他の Java EE アプリケーションを開発する方法の詳細については、次のリソースを参照してください。

メーリングリストに登録することによって、NetBeans IDE Java EE 開発機能に関するご意見やご提案を送信したり、サポートを受けたり、最新の開発情報を入手したりできます。