FeaturesDocs & SupportCommunityBlogsPartners

PHP 中的 SaaS:Yahoo 新闻服务教程

NetBeans IDE 支持 PHP 中的服务型软件 (SaaS) 应用程序。SaaS 指的是一个软件应用程序传递模型,软件供应商通过它开发 Web 性质的软件应用程序,并承载和运行供其客户通过 Internet 使用的应用程序。SaaS 是一个越来越普及的软件功能提供模型,因为无论从成本角度,还是从客户硬件资源角度而言,它都很经济划算。通过在 Netbeans 6.5 中使用 SaaS PHP 支持,PHP 开发者可以使用广受欢迎的 Web 服务,如 Google 地图、Yahoo 新闻等等。具体操作很简单,只需将这些服务从 IDE 的“服务”窗口拖放到 PHP 文件中即可。

本教程使用 Yahoo 新闻搜索服务来演示 SaaS PHP 支持。

目录

此页面上的内容适用 NetBeans IDE 6.5

要学习本教程,您需要具备以下软件和资源。

软件或资源 要求的版本
NetBeans IDE PHP 下载包 6.5。必须包括 SaaS 服务
代码生成插件(PHP 类别)
PHP 引擎,包括 PEAR
(PHP Web 服务包)
版本 5。可以是独立组件或 AMP 包。
请参见 NetBeans 中的 PHP 开发入门指南
Web 服务器 建议使用 Apache HTTP 服务器
此 Web 服务器包括在 AMP 包中。

安装和设置 PEAR 包

要在 PHP 中使用 SaaS 服务,必须安装 PHP Extension and Application Repository, (PEAR)(PHP 扩展和应用程序资源库)。安装 PEAR 后,请将 PEAR 的路径包括在 php.ini 文件的 include_path 变量中。然后安装下列 PEAR 包:

  • Http_Request
  • Net_URL
  • Net_Socket

安装和设置 PEAR 的过程因所使用的操作系统以及已安装的 AMP 包(如果有的话)而异。例如,要在 Xampp 包中安装 PEAR,请执行以下操作:

  1. 运行 Xampp go-pear 脚本(位置因操作系统而异)以安装 PEAR。这会创建一个 PEAR 目录(位置同样因操作系统而异)。
  2. 打开 php.ini,将新创建的 PEAR 目录的路径添加到操作系统的 include_path 变量中。取消注释 include_path(如果它已被注释掉)。例如,当在 MacOS 上使用 Xampp 时,include_path 变量为:
    include_path=".:/Applications/xampp/xamppfiles/lib/php:/Applications/xampp/xamppfiles/lib/php/pear"

    在 Windows 上使用 Xampp,且 Xampp 安装到 G:/ 的根目录时,include_path 变量为:

    ; Windows: "\path1;\path2"
    include_path = ".;G:\xampp\php\pear\"
  3. 可以选择将 PEAR 的路径添加到 Path 环境变量(在 Windows 上)。
  4. 在 PEAR 目录中打开一个命令提示窗口,并运行命令 pear install Http_Request。这会安装 Http_Request 包以及 Http_Request 所依赖的任何包,其中包括 Net_URL 和 Net_Socket。如果这些包已安装,则 PEAR 将返回“不安装任何组件”。

创建 PHP 项目

设置 PHP 和 PEAR 后,将创建使用 Yahoo 新闻服务的 PHP 项目。

要创建此项目,请执行以下操作:

  1. 选择“文件”>“新建项目”。在“类别”下,选择 "PHP"。在“项目”下,选择“PHP 应用程序”,然后单击“下一步”。将打开“名称和位置”页。“新建 PHP 项目”向导,显示“名称和位置”页
  2. 将项目命名为 YahooNewsApp。将它保存在 NetBeansProjects 文件夹中。单击“下一步”。此时将打开“运行配置”页。“新建 PHP 项目”向导,显示“运行配置”页
  3. 在“运行方式:”下拉列表中,选择“本地 Web 站点(在本地 Web 服务器上运行)”。在“项目 URL”文件夹中,键入 http://localhost/news。选择“将源文件夹中的文件复制到其他位置”。在“复制到以下文件夹”字段旁边,单击“浏览”。此时将打开“选择文件夹位置”对话框。
    “复制到以下文件夹”浏览对话框

    浏览到在 localhost 上的该位置公开 php 文件的父文件夹。对于 Xampp,这是 XAMPP_HOME/xampp/htdocs。新建一个名为 news 的子文件夹。单击“打开”,对话框关闭。news 文件夹的路径现在显示在“运行配置”页的“复制到以下文件夹”字段中。单击“完成”。

IDE 创建项目,并将源文件夹复制到 Web 服务器在其中公开这些源文件夹的目录。项目的 index.php 文件在编辑器中打开。打开文件资源管理器,检查 index.php 是否已复制到正确的目录。

资源管理器窗口,显示出该 index.php 文件在 NetBeans 项目中,并在 Web 服务器将从中公开它的文件夹中

添加并运行 Yahoo 新闻 Web 服务

将 SaaS 操作添加到 PHP 文件中,方法是:将该操作从“服务”窗口中的 Web 服务管理器拖放到 PHP 文件的主体中。

要将 Yahoo 新闻服务添加到您的 PHP 项目,请执行以下操作:

  1. 在 IDE 中,在编辑器中打开项目的 index.php 文件,并打开“服务”窗口。
  2. 在“服务”窗口中,展开“Web 服务”节点,定位到 "Yahoo" >“新闻搜索服务”> "[newsSearch]" >“搜索”。
    展开了 Yahoo Web 服务的“服务”标签,其中显示了新闻搜索 "search" 操作
  3. 在编辑器中,从 index.php 中删除现有的 <?php...?>。将搜索操作从“服务”窗口拖放到 index.php 的 <body> 元素中。将打开一个用于设置输入参数初始值的对话框。
    由于将“Yahoo 新闻服务”搜索操作拖放到 index.php 中而打开的“输入参数”对话框
  4. 可以将所有输入参数保留为缺省值。"query" 参数指您所搜索的新闻报道主题,可以设置为任意值。在本示例中,它设置为 "php",因此该服务将搜索有关 PHP 的报道。您可以将它设置为 "NetBeans"、"football" 等等。完成后,单击“确定”。IDE 以您选定的参数将用于调用 Yahoo 新闻搜索服务的 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(); 一行被注释掉,并添加了新的输出代码。
    //Comment this line
    //echo $result->getResponseBody();

    //Add the following lines to display the news nicely.
    $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 新闻搜索不需要 API 密钥,但是您仍然需要传递一个非 null 值。在“项目”窗口中,展开 org_netbeans_saas_yahoo 包,并在编辑器中打开 YahooNewsSearchAuthenticatorProfile.php。为 $api_key 变量键入任意非 null 值。
    IDE 中的“项目”标签和编辑器,显示赋给 YahooNewsSearchAuthenticatorProfile.php 中 $api_key 的任意值
  7. 启动 PHP 引擎。
  8. 在“项目”窗口中,右键单击 index.php,从上下文菜单中选择“运行”(Shift-F6)。将打开一个浏览器窗口,其中显示与 "query" 参数值匹配的所有新闻结果。
    浏览器窗口中 Yahoo 新闻服务搜索 PHP 的结果

 

 

另请参见

有关使用 NetBeans IDE 开发 PHP 项目、REST 风格的 Web 服务、SaaS 以及其他 Java EE 应用程序的详细信息,请参见下面的资源:

要发送意见和建议、获得支持以及随时了解 NetBeans IDE Java EE 开发功能的最新进展,请加入 nbj2ee@netbeans.org 邮件列表

Companion
Projects:
                  Powered by: