Eclipse
本节介绍如何安装 Eclipse 以及 Xdebug 以用于 Joomla 开发。由于这两个产品都是开源项目,因此此选项免费。网上有视频展示如何安装这些产品,但下面解释了一些关键步骤。假设您已经在本地机器上运行了 WAMP 或 XAMPP 等环境,并且您熟悉如何使用它。
安装 Xdebug
访问 xdebug.org,点击“安装”菜单项,然后按照说明下载和安装 xdebug。
例如,对于使用 WAMP 的 Windows,这将涉及下载一个 .dll 文件,将其移动到 php 版本文件夹下的 /ext
目录中,并将文件重命名为 php_xdebug.dll
。
如果您的机器上有多个 PHP 版本,则需要将此 .dll 文件复制到每个 /ext
子目录中。
配置 PHP
PHP 通过 php.ini
文件进行配置,但例如 WAMP 使用 phpForApache.ini
文件在处理 Web 请求时配置 PHP。由于您可能希望调试
- Joomla 网站和管理员应用程序(可能使用
phpForApache.ini
)以及 - Joomla 命令行应用程序(使用
php.ini
)
因此,您应确保这些 .ini
文件中至少存在以下关键配置行。(如果您有多个 PHP 版本,则必须配置每个版本的 .ini
文件)
[DEBUG]
zend_extension="xdebug"
xdebug.mode=debug,develop
xdebug.log_level=0
请参阅 Xdebug 文档,其中描述了所有 Xdebug 设置,以确认您具体需要哪些设置。
您需要 xdebug.mode
包含 debug
以启用程序的单步调试,将其设置为包含 develop
可以提供增强的 var_dump
函数等。
xdebug.log_level=0
表示仅将严重问题记录到日志文件中。在 WAMP 中,如果您的 xdebug 日志文件变得太大,则在您想要切换 WAMP 数据库软件(mysql)的版本时会导致问题。
检查 Xdebug 是否正在工作
编写一个包含以下行的简短 PHP 脚本
var_dump(xdebug_get_code_coverage());
然后从命令行和/或 Web 服务器运行此脚本。如果 xdebug 正确运行,则您将输出一个空数组。否则,它将引发错误,因为它无法识别 xdebug_get_code_coverage
函数。
安装 Eclipse
如果您没有安装现有的 Eclipse 版本,则可以从 Eclipse PHP 开发工具 下载一个干净的 Eclipse for PHP 版本。如果您有现有的 Eclipse 版本,则可以点击“帮助”/“安装新软件”,然后使用 http://download.eclipse.org/tools/pdt/updates/latest
获取最新的 PDT 软件。
配置 Eclipse 以使用 Xdebug
在 Eclipse 中,点击“窗口”/“首选项”,然后在 PHP 下点击“已安装的 PHP”。在这里,您应该会看到您的 PHP 版本列表以及关联的调试器。
选择其中一个并点击“编辑”。在出现的窗口中,点击“调试器”选项卡。您需要拥有
- 调试器 - 应选择 Xdebug(如果您无法选择它,则表示它未安装或在您的 php.ini 文件中配置不正确)
- 端口 - 设置为 9003
当 Xdebug 从 2.5 版升级到 3.0 版时,许多设置都发生了更改,默认调试器端口也从 9000 更改为 9003。但是,您仍然可以在网上找到与旧设置和旧端口 9000 相关的文档。
点击“PHP”/“调试”,您应该会看到 Xdebug 设置为调试器。如果希望 Eclipse 默认在 PHP 脚本的第一行中断,则还可以选中“在第一行中断”复选框。
在“窗口”/“首选项”下“常规”/“Web 浏览器”中检查您是否已选择使用外部 Web 浏览器以及您首选的浏览器也是值得的。
导入 Joomla 安装以进行调试
在 Eclipse 中,点击“文件”/“新建” - “PHP 项目”。选择“在现有位置创建项目”,然后浏览以选择您的顶级 Joomla 目录。为您的项目指定一个好记的名称,然后点击“完成”。这会将您的 Joomla 安装代码导入 Eclipse。
接下来,您必须定义一个调试配置。点击“运行”/“调试配置”,在出现的窗口中点击“新建”符号(左上角)。您必须指定
- 调试配置的名称
- 在“服务器”选项卡上,点击“浏览”并选择您的站点 index.php 文件
- 在“调试器”选项卡上,确保选中“在第一行中断”。
- 然后点击“应用”以保存调试配置
- 然后您还可以点击“调试”以开始调试 - 代码应该在 index.php 的第一行可执行代码处中断。
保存配置后,您可以通过再次进入“运行”/“调试配置”或点击菜单栏中错误符号右侧的小箭头,然后选择您的调试配置来重复运行它。
导入 Joomla 扩展文件夹以进行开发
您可以使用 Eclipse 作为您的 IDE 来帮助您进行代码开发过程。为此,您需要将您正在开发扩展的文件夹作为项目导入。在 Eclipse 中,点击“文件”/“新建” - “PHP 项目”。选择“在现有位置创建项目”,然后浏览以选择您正在开发扩展的文件夹。为您的项目指定一个好记的名称,然后点击“完成”。这会将您的 Joomla 代码导入 Eclipse。
导入开发代码后,您会看到您的 use
语句中出现许多错误,因为 Eclipse 找不到这些类。要解决此问题,
- 在“资源管理器”窗格中右键点击该项目,然后选择“属性”。
- 在“PHP”/“源路径”/“包含路径”下,点击“项目”选项卡。
- 点击“添加”,然后选择您的 Joomla 安装项目,然后点击“确定”。
- 然后点击“应用”和“关闭”以保存所有内容。
然后再次右键点击开发项目并选择“构建项目”。Eclipse 应该能够找到您的 use
语句的源类,并且错误应该会消失。