Eclipse PDT V2.0 项目是最近才发布的。与先前的版本相比,它增加了一些新的可用性特性,包括添加构建路径、打开类型和访问改进了的代码帮助的功能。
本文将演示如何下载并安装 WordPress 以及如何用 Eclipse PDT 构建插件。另外还演示了如何从 Eclipse 导出插件以便共享。
要想更好地学习本文,需要安装以下工具:
- PHP V4.3 或更新的版本
- MySQL V4.0 或更新的版本
- 带 PDT 的 Eclipse V3.4
WordPress 是用 PHP 编写的一个发布平台,借助它,可以快速便捷地向 Web 发布内容。它具有高度的可扩展性,可以在这个平台上创建出具有任意功能的插件。自 2005 年来,有上百万的 WordPress 拷贝被大公司及个人下载并使用。
userdir
模块)。如果愿意,可以重命名这个目录:这里,我将名称从wordpress 改为了 blog。
很多人都习惯使用
但即使有了这些插件,还是会出现需要通过扩展 WordPress 来满足具体需要的情况。本文后面的部分将展示如何用 Eclipse 和 PDT 建立一个可以在其中开发并测试 WordPress 插件的开发环境。
在建立工作区之前,请确认已经安装并运行了 WordPress。此外,还需要对 WordPress 目录有读写的访问权。最好的情况是在您自己的机器上使用在 Web 服务器上已经配置了的用户目录,以便能将文件放入您自己的根目录下。但一个共享的目录也是可以的,只要您可以对它进行读写操作。
在继续进行前,先在 WordPress_home/wp-content/plugins 目录(其中,WordPress_home 是 WordPress 解压缩后所处的那个目录的完整路径)内创建一个目录 — 例如, WordPress home/wp-content/plugins/myplugin。之后,新 WordPress 插件都将被存放在这个目录之下。
如果已经安装并运行了 WordPress,并且可以对刚刚为插件创建的这个目录进行读写,那么就可以着手为 WordPress 插件创建一个新项目了:
- 选择 File > Project,然后从 Wizards 列表中选择 PHP Project ,如图 1 所示。
图 1. 创建新的 PHP 项目
- 单击 Next。
- 在 New PHP Project 窗口中,在 Project name 框中键入插件的名称。
- 在 Contents 下,选择
Create project from existing source 。接下来浏览或在 Directory 框中键入刚刚创建的目录的名称(例如,我的目录是 /Users/ngood/Sites/blog/wp-content/plugins/myplugin),如图 2 所示。
图 2. 定义项目的位置
- 输入目录信息后,单击 Finish,其他信息均保留默认值。
创建项目后,WordPress_home
清单 1. 新 myplugin 目录的内容
|
图 3. 显示在 WordPress 管理员面板内的插件
add_filter
与 add_action
要想将 WordPress wp-includes 目录添加到构建路径,在 PHP 项目被突出显示的同时选择 Project > Properties 。在 Libraries 选项卡上,单击 Add External Source Folder,然后浏览到在安装 WordPress 的位置中找到的这个 wp-includes 目录。完成后,单击OK。现在,可以在 PHP 编辑器中键入 add_
并调用代码完成功能,之后将看到一个包括 add_action
与 add_filter
的列表。
要添加第一个插件文件,可以选择 File > New > PHP File。第一个文件的名称要与此文件所在目录的名称一样。例如,如果插件目录的名称是 myplugin,那么此文件就应该命名为 myplugin.php。WordPress 会读取该文件以获得插件信息并注册扩展点。
为了使 WordPress 能够识别插件,需要向新的插件文件中粘贴一个注释块。如果创建的 WordPress 插件很多,不妨考虑把这个代码块放入 PHP 的代码模板中。清单 2 就是一个完成了的代码块。
清单 2. 能识别插件的注释块
/* Plugin Name: My Plugin Plugin URI: http://www./myplugin Description: This is a really great plugin that extends WordPress. Version: 1.0.0 Author: Nathan A. Good Author URI: http://www. */ |
图 4. 在从源代码控制存储库导入时定义源位置
本文中,我将添加两种功能。第一个功能很简单,就是让博客条目标题全部大写。这是一个添加过滤器 的示例。第二个功能是在用户注册表的末尾添加一个额外字段。这是一个添加动作 的示例。
下面我要用函数性代码编写这两个示例以使其尽可能地简单。记住:若使用的是 PHP V5 或更新的版本,就可以融入面向对象的概念以使代码更易于读懂和维护。有关如何用面向对象编程的概念和设计模式编写更易于维护的 PHP 的详细信息,请参见 参考资料。
清单 3 所示的是标题过滤器的代码。其中,使用了 PHP 中的 strtoupper()
函数以使此博客的标题变为大写。
清单 3. 使标题变成大写的函数
/** * |
写完这个函数后,需要调用 add_filter
以在 WordPress 中将此函数注册为特定的过滤器扩展点。参考资料 中提供了所有可用过滤器的清单的一个链接。下面是一个添加过滤器的示例。
清单 4. 用
add_filter
添加过滤器/* now add the filter */ add_filter('the_title', 'capitalizeTitle'); |
清单 5 所示的代码可以生成一个新的定制注册字段。我用这个 Firebug 扩展来查看现有注册表单字段的 CSS(Cascading Style Sheet)样式,以确保我的定制字段具有相同的 CSS 样式类。
清单 5. 新的定制字段动作
/** * |
要添加这个定制动作,可以使用如下代码。
清单 6. 用
add_action
添加动作/* now add the action */ add_action('register_form', 'drawCustomField'); |
这个动作只在表单上绘出此字段。当用户提交此表单时,它并不实际保存数据。要想保存数据,需要使用 profile_update
动作。有关所有可用操作的详细列表及各自的功能,请参看 参考资料。
激活插件后,进入博客的首页。应该可以看到 “
要测试插件的注册字段部分,必须以管理用户身份登录到 WordPress 并启用允许用户在 Settings 页面注册的特性。启用这个选项后,在进入到这个注册页面时,就会看到 Favorite Color 字段。
wp_mail
在编写和仔细测试了插件之后,有可能还会想要与他人共享。大多数
可以用
要将插件导出到一个归档文件,可以先选中 PHP 项目,然后选择 File > Export。在 Select 窗口,从目标列表中选择 Archive File,然后单击 Next。
图 5. 导出 WordPress 插件
在如图 6 所示的 Archive file 窗口中,单击 Deselect All
图 6. 选择要导出的文件
从 Eclipse 创建了归档文件后,就可将其发布到一个 Web 服务器上或是将其复制到您的 ISP 处以便您可以使用它。
要在官方 WordPress 站点上添加有关此插件的信息,可以参考 参考资料 并遵照那里的指导信息。
WordPress 是越来越流行的一个可扩展 Web 应用程序,它让您能够轻松地将内容发布给用户。您无需修改任何 WordPress 代码就可以扩展 WordPress,从而提供更多的功能。
借助安装了 PDT 的 Eclipse IDE,可以使用 PHP 工具构建一个插件。您还可以用 WordPress 测试和运行您的插件,直到它全部完成。之后,您可以使用 Eclipse 的导出功能来将此插件导出到一个适合于分发的归档文件。
学习
- 访问官方的 WordPress 站点,更多地了解 WordPress。
- 要快速安装 WordPress,请参阅 “Famous 5-Minute Install” 教程。
- 要获得可用 WordPress 过滤器的完整列表,请参阅 Plugin API/Filter Reference。
- 要获得可用 WordPress 动作的完整列表,请参阅 Plugin API/Action Reference。
- 要了解如何用 WordPress 托管您的插件,请访问 http:///extend/plugins/about/。
- 要了解如何用 PDT 调试您的插件,请阅读 “教程:使用 Eclipse 和 PDT 调试 PHP”。
- 要了解有关 PHP 的好的面向对象的编码习惯, 请阅读 “在 PHP 中养成 7 个面向对象的好习惯”。
- 查阅 “推荐 Eclipse 阅读清单”。
- 浏览 developerWorks 上的全部 Eclipse 内容。
- 追随 developerWorks on Twitter。
- 您是 Eclipse 新用户?阅读 developerWorks 文章 “Eclipse 平台入门” 以了解它的起源和架构,以及如何用插件扩展 Eclipse。
- 查阅 IBM developerWorks 的 Eclipse 项目资源 扩展 Eclipse 技巧。
- 要收听针对软件开发人员的有趣访谈和讨论,请查看 developerWorks podcasts。
- 随时关注 developerWorks 技术活动和网络广播。
- 查看免费的 developerWorks 演示中心 观看并了解 IBM 及开源技术和产品功能。
- 查阅最近将在全球举办的面向 IBM 开放源码开发人员的研讨会、交易展览、网络广播和其他 活动。
- 访问 developerWorks Open source 专区,获得丰富的 how-to 信息、工具和项目更新,帮助您用开放源码技术进行开发,并与 IBM 产品结合使用。
获得产品和技术
- 查阅 IBM alphaWorks 上最新的 Eclipse 技术下载。
- 从 Eclipse Foundation 下载 Eclipse Platform 和其他项目。
- 下载 IBM 产品评估版,尝试使用来自 DB2?、Lotus?、Rational?、Tivoli? 和 WebSphere? 的应用程序开发工具和中间件产品。
- 使用 IBM 试用软件 改进您的下一个开发项目,这些软件可以通过下载或从 DVD 获得。
讨论
- Eclipse Platform 新闻组 应当是讨论关于 Eclipse 的问题的第一站(选择此链接将启动默认的 Usenet 新闻阅读器应用程序并打开 eclipse.platform)。
- Eclipse 新闻组 中有很多参考资料适用于对使用和扩展 Eclipse 感兴趣的人员。
- 参与 developerWorks blogs 并加入 developerWorks 社区。