精华内容
下载资源
问答
  • PDT

    2011-02-25 09:21:00
    PDT

    Zac.Lee: DJIMU-PESSA-KINGX-LNWJZ-JDOPS-JQKOX-OQHMJ-UNGMZ

    展开全文
  • 创建一个新报告: https : //github.com/eclipse/pdt/issues/new 在创建另一个bug之前,请确保搜索现有的bug。 请记住,永远欢迎捐款! Eclipse贡献者协议 在项目团队接受您的捐助之前,参与者必须以电子方式签署...
  • PDT-eclipse

    2018-06-04 00:51:03
    基于eclipse的PHP插件,pdt。亲测可用,自己使用过的。
  • ##非官方测试 PayPal IPN 和 PDT 示例 ##重要的! 这个项目很旧,不再积极维护。 无法保证这适用于任何 PayPal 的较新产品。
  • 本文主要介绍的是eclipse和pdt的安装、调试以及xdebug的配置方法,并用eclipse pdt进行断点调试PHP代码。
  • 我们开发了 Pathway-PDT,它使用谱系不平衡测试 (PDT) 的框架来处理一般家庭数据,以执行通路分析。 可用性和实现:Pathway-PDT 是用 C++ 实现的,带有 POSIX 线程(pthreads)。 可以使用二进制文件 (Windows) 和...
  • Pdt_Header.txt

    2018-05-10 19:26:18
    Pdt_Header.txt DA1458X BootLoader头部Header配置文件
  • Eclipse PDT Installer-开源

    2021-05-03 10:43:59
    Eclipse PDT Installer项目旨在简化用于Eclipse平台的优秀PHP开发工具框架的安装过程。
  • PDT数字集群通信系统技术规范-
  • 在你开始前 关于本教程 ... 完成本教程后,您将可以设置XDebug(一个开放源代码项目,可以调试可执行脚本和在Web服务器上运行的脚本),也可以使用PDT项目在Eclipse中使用Zend Debugger开发PHP应用程序...

    eclipse pdt

    在你开始前

    关于本教程

    本教程演示了如何配置EclipsePHP开发工具(PDT)插件来调试PHP脚本。 它还介绍了仔细查看PHP脚本时将使用的观点(即,PHP Debug)。

    目标

    完成本教程后,您将可以设置XDebug(一个开放源代码项目,可以调试可执行脚本和在Web服务器上运行的脚本),也可以使用PDT项目在Eclipse中使用Zend Debugger开发PHP应用程序。 您将了解PDT项目PHP Debug透视图的各个部分,并了解如何设置,查看和使用断点。 您还将学习如何在单步执行代码时检查变量的值,以及如何在本地服务器上调试PHP Web应用程序,以便可以使用调试器在PHP Web应用程序中运行。

    先决条件

    为了充分利用本教程,您应该做一些PHP开发。 但是更重要的是,您通常已经完成了软件开发。 如果您熟悉调试其他任何语言,则可以更好地理解调试概念。 我写这篇文章对那些对Eclipse刚起步的人有所帮助,而不是对那些已经使用Eclipse一段时间的人有所帮助。

    系统要求

    要完成本教程,您需要:

    运行Microsoft®Windows®,Mac OS X或Linux®的计算机
    本教程中显示的php.ini文件示例适用于Mac OS X和Linux。 因为这两个调试器都需要一个配置来告诉PHP调试器扩展的位置,所以唯一的区别(如果要查找Windows示例)是调试器扩展的路径。 库名称以.so结尾。 适用于Mac OS X和Linux,适用于Windows的.dll ; 此外,路径使用正斜杠( / )代替反斜杠( \ )作为目录分隔符。
    PHP V5.x
    Linux用户可以使用发行版中包含的软件包系统来安装PHP。 OS X和Windows用户可以找到PHP V5.x中在PHP.net。

    注意:本教程中的示例是使用PHP V5.2.5编写的。

    Eclipse V3.3
    同样,Linux用户也很容易:Eclipse通常可以通过其发行版中包含的软件包系统获得。 其他人都可以在Eclipse下载中找到Eclipse集成开发环境(IDE)。
    用于服务Web应用程序的Apache或Microsoft Internet信息服务(IIS)
    您需要安装Web服务器来运行示例,这些示例演示如何在服务器上调试PHP Web页面。 但是,如果您只对调试非Web页面PHP脚本感兴趣,则不需要Web服务器。 在本教程中,我们将Apache V2设置为Web服务器。 如果您使用的是Windows而宁愿使用IIS,那也可以。 本教程假定您具有适当的访问权限,可以写入Web服务器文档根目录内的目录。
    Eclipse PHP开发工具框架
    如果尚未安装PHP开发工具(PDT) ,则可能需要先阅读“ PDT项目概述”部分,以便可以决定是否要下载和安装与Zend Debugger捆绑在一起的PDT。 Eclipse Foundation PDT / Installation Wiki很简短,但很有帮助。
    Zend Studio Web调试器
    下载Zend Studio Web调试器的30天试用版。

    入门

    用旧方法调试PHP

    在能够在IDE中使用调试器之前,我调试PHP脚本的主要方法是:

    1. 设置一堆显示变量值的echo语句。 在部署脚本之前,我必须将其删除或注释掉。
    2. 使用“我在这里” echo语句来打印脚本中的位置。 在部署脚本之前,我还必须删除这些代码行或将其注释掉。
    3. 调整php.ini文件,告诉PHP打印详细消息,包括警告。 这样做可能会引起安全问题,因为它可能会显示您不想显示的内容。 如果您要在本地进行开发并将脚本部署到其他服务器,那么问题就不大了。
    4. 使用记录器类,例如Log PEAR模块。 这是一个很好的选择,因为记录器允许您设置优先级,以便以后可以静默调试消息。 但是,它需要一定的时间(尽管相对较小)来配置并提出在不同环境中具有不同日志记录级别的过程。 通常,您可能希望在开发环境中看到“调试”消息,而在生产环境中仅看到“警告”消息或以上消息。 无论使用哪种调试技术,我都建议为PHP应用程序找到并使用日志记录框架。 调试器的缺点是有时开发人员倾向于忽略添加适当日志记录的时间投入。

    尽管所有这些技术对我来说都工作了好几年,但它们比在调试器中逐步调试应用程序要花费更多的时间。 因此,您可以在IDE内部使用调试器节省大量时间。 此处介绍了两个调试器(XDebug和Zend Debugger)的设置。

    PDT项目概述

    与Eclipse Europa一起安装的PDT插件使您能够快速编写和调试PHP脚本和页面。 PDT项目支持两个调试工具:XDebug和Zend Debugger。 本教程演示了如何配置PDT以使用任一调试器调试PHP脚本。

    PDT V1.0于2007年9月发布。该工具与Web工具平台(WTP)一起使用,以提供使用Eclipse构建PHP项目和PHP文件的功能。 如果您已经在使用Eclipse进行Java™开发,则PDT项目提供了一些功能,例如PHP透视图和PHP Debugging透视图。 PHP编辑器具有语法突出显示,代码格式化,语法验证和代码模板。 使用PDT,您可以执行PHP脚本并在Web服务器上运行它们,PDT还支持在本地和服务器上调试PHP文件(尽管调试需要一些设置)。 本教程重点介绍如何配置PDT以使用受支持的PDT调试器之一:XDebug或Zend Software的Zend Debugger(请参阅参考资料 )。

    您不需要同时安装两个调试器。 您可以选择并使用其中之一。 本教程涵盖了这两个方面,使您可以决定要使用和安装哪一个。 安装一个后,您可以调试任何PHP脚本。 使用PHP Debug透视图,您可以查看变量值和断点以及逐步执行代码。 下一节将深入探讨透视图的不同部分以及如何使用它们。

    为本教程做好准备

    安装PDT之后,您必须添加几个可用于遵循的项目。 第一个是一个简单的脚本,可以打印一定次数的问候语。 第二个项目是具有两个页面的Web应用程序。 这些示例在任何一个调试器中都可以正常运行,并且在添加这些项目之前不需要设置调试器。

    添加简单项目

    具有简单示例脚本的简单PHP项目演示了调试器和PDT Debug透视图的功能。 如果您没有可用的示例,请执行以下步骤来创建一个简单PHP项目作为示例。 (或者,从“ 下载”部分下载代码。)

    1. 选择New> Project ,然后从列表中选择PHP Project ,如图1所示,然后单击Next
    图1.添加一个PHP项目
    添加一个PHP项目
    1. 键入simpleDebugExample作为项目名称,如下所示。 选中使用默认复选框,然后点击完成
    图2.输入项目信息
    输入项目信息
    1. 当项目出现在您的工作空间中时,添加清单1中的文件。
    清单1. helloworld.php
    <?php
    $name = "world";
    for ($i = 0; $i %gt; 100; $i++) {
    	print("Hello, $name ($i)!\n");
    }
    ?>

    添加Web应用程序示例

    该Web应用程序示例包含几个Web页面,因此您可以看到如何使用调试器在服务器上逐页调试PHP Web页面。 您将能够看到如何捕获从一页发布到另一页的变量。 要设置Web应用程序示例:

    1. 选择New> Project添加一个新项目,然后从列表中选择PHP Project ,如图3所示,然后单击Next
    图3.添加一个PHP Web项目
    添加一个PHP Web项目
    1. 修改项目内容所在的位置。

      与简单示例不同,您可能需要修改项目内容所在的位置。 要进行此类修改,请清除“ 使用默认值”复选框,然后单击“ 浏览”以找到适合您PHP网页的位置。 由于这些网页需要在服务器上执行,因此您可以在Web服务器可以到达的位置构建整个工作区,也可以调整此设置以将某些程序包内容放入可访问的位置。 我不希望Web服务器可以访问我的整个工作区,因此我使用此设置仅将Web应用程序内容放入文件夹中。 例如,我的设置是/ Users / nagood / Sites / webDebugExample。 在我的计算机上,可以通过URL http:// localhost /〜nagood / webDebugExample访问该目录。

    2. 添加新项目后,添加三个新文件。 清单2显示了第一个-enterGreeting.php。
    清单2. enterGreeting.php
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
    <?php
    
    $name = "world";
    
    print("<b>Hello, $name</b>");
    
    ?>
    <form action="results.php" method="post">
    <input type="hidden" name="name" value="<?php print($name); ?>" />
    <input type="text" name="greeting" value="" />
    <input type="submit" value="Submit" />
    </form>
    </body>
    </html>
    1. 添加三个文件中的第二个:results.php。 清单3显示了该文件的内容。
    清单3. results.php
    <html>
    <head><title>Results</title>
    </head>
    <body>
    <?php
    include_once 'GreetMaster2000.php';
    
    print ("Hello, " . $_POST['name'] . "!");
    print ("<br />");
    
    $gm = new GreetMaster2000();
    $gm->setGreeting($_POST['greeting']);
    
    print ("<b>Your greeting is:  <i>" . $gm->getFormalGreeting() . 
        "</i></b>");
    
    ?>
    </body>
    </html>
    1. 添加三个文件中的第三个文件GreetMaster2000.php,如清单4所示。该文件包含一个类,以演示调试后的类。
    清单4. GreetMaster2000.php
    <?php
    class GreetMaster2000
    {
        private $greeting;
        private $name;
        
        public function __construct()
        {
            $this->name = "The GreetMaster 2000 (model Z)";
        }
        
        public function setGreeting($message)
        {
            $this->greeting = $message;
        }
        
        public function getGreeting()
        {
            return $this->greeting;
        }
        
        public function getFormalGreeting()
        {
            return "I, the " . $this->name . ", say to you:  \"" . 
                $this->getGreeting() . "\"";
        }
        
    }
    ?>

    PHP Debug透视图

    在设置调试器并开始调试刚刚创建的项目之前,请熟悉PHP Debug透视图,以便您轻松调试PHP应用程序。

    首次选择Debug As> PHP ScriptDebug As> PHP Web Page来调试PHP文件时,Eclipse询问您是否要切换到PHP Debug透视图。 如果单击“ 是” ,则会出现图4所示的透视图。 在调试PHP脚本时,不同的视图包含最常用的信息。

    图4. PHP Debug透视图
    PHP Debug透视图

    调试视图

    调试视图显示有关正在运行的进程的信息。 在图5所示的选项卡上,代码在第5行停止。第5行在sayHello()函数内部,该函数在视图中列出。 {main}条目始终引用脚本的主体,您可以通过查看Debug视图中的信息来判断sayHello()位于脚本的第13行。

    图5. Debug视图
    调试视图

    调试视图的顶部边框有几个按钮。 调试时,您可以使用这些按钮来逐步浏览,遍历或超出部分PHP文件。 最常用的按钮是:

    删除所有终止的启动
    这会通过清除视图中所有终止(完成)的启动来清理“调试”视图。 每当您开始调试PHP文件时,都会在Debug视图中记录启动,该启动包含有关已执行过程的信息。 进程终止后,它仍然在Debug视图中徘徊。 您可以通过单击上下文菜单中的“重新启动”来重新启动它。
    执行到下一个断点
    调试器将运行当前的调试过程,直到下一个断点。 如果没有设置断点,则过程将一直进行到完成。
    暂停调试器
    暂停当前​​所在的任何位置的进程。 这在调试长时间运行的循环以找出未设置断点的位置时很方便。
    终止调试器
    停止调试。
    断开调试器
    如果要在服务器上调试,请单击此按钮以将调试器客户端与服务器断开连接。 服务器继续处理。
    进入代码
    如果当前行是函数,则调试器将进入该函数,以便您对其进行调试。
    跳过代码
    如果当前行是函数,则调试器将跳过该函数。 函数内部的代码仍将执行,但您不必单步执行。
    退出代码
    如果您正在使用某个函数,并且确定不想再进行调试,请单击此按钮。 该函数执行完毕,调试器中当前的停止点跳到该函数的调用方。

    变量视图

    变量视图包含有关范围内变量的信息。 当变量进入和离开作用域时,它们将从该视图中出现或消失。 下面的示例显示变量$howManyTimes和循环变量$i

    图6.变量视图
    变量视图

    断点视图

    “断点”视图显示为整个项目设置的所有断点。 在此视图中,您可以通过清除断点旁边的复选框来临时禁用断点。

    图7.断点视图
    断点视图

    编辑器视图

    在单步执行代码时,可以在PHP编辑器的“编辑器”视图中查看代码。

    图8.编辑器视图
    编辑器视图

    控制台视图

    如果您PHP文件是一个简单的脚本,该脚本使用print()echo()方法打印消息,则这些消息将显示在“控制台”视图中。 对于本教程中的简单示例,您将看到问候语多次打印到控制台上。

    调试输出视图

    调试输出视图在适用的情况下显示调试器的输出。 Zend Debugger在此视图中显示信息。

    浏览器输出视图

    “浏览器输出”视图显示了如果PHP脚本是Web页面将显示给浏览器的内容。 使用Zend Debugger时,在绘制网页时,其原始HTML格式的输出将打印在此处。 以这种形式查看您的页面可能会对那些在浏览器中查看网页时不一定可见HTML元素有所帮助。

    安装和配置调试器

    此时,您应该在工作空间中设置几个示例项目,并熟悉PHP Debug透视图中的不同视图。 本节介绍如何配置调试器并将其挂钩到PDT中,以便您可以在示例项目中开始调试PHP文件。

    这两个调试器都需要进行设置,基本上包括以下步骤:将扩展复制到目录中;配置php.ini文件以使用该扩展;使用几个配置值配置扩展本身;以及重新启动Web服务器。 完成这项工作后,您可以使用任一调试器开始调试PHP Web应用程序。

    注意:如果您只想调试PHP脚本(而不是服务器上的Web页)并且尚未安装PDT,那么调试PHP脚本的最快方法是使用Zend.com上的Eclipse更新站点。安装与Zend Debugger捆绑在一起的PDT版本。 安装后,您将能够立即在IDE中调试PHP脚本。

    安装Zend调试器

    捆绑的Zend Debugger易于安装,因为您可以从Zend的更新站点获得它,就像从Eclipse更新站点安装PDT一样。 如果从Zend的站点下载捆绑版本的PDT,则可以立即开始调试脚本。

    如果要使用Zend Debugger调试服务器上PHP网页,则需要安装PHP扩展并在php.ini配置文件中对其进行配置。 要安装和配置扩展,请执行以下操作:

    1. 从Zend的网站下载Zend Web服务器扩展二进制文件。
    2. 解压缩包含二进制文件的ZIP文件。
    3. 将扩展二进制文件(称为ZendDebugger.dll或ZendDebugger.so )复制到文件夹中。 您不必将它们放在PHP扩展文件夹中,但这是复制它们的好地方,因为这样所有扩展二进制文件都位于同一位置。 如果您不知道是哪个文件夹,请参阅“ 故障排除 ”以了解如何确定该文件夹。
    4. 使用清单5中所示的设置更新php.ini文件。您可能需要验证是否正在编辑正确的php.ini文件—。 另外,您必须确保zend_extension指令正确。 有关更多信息,请参见“ 故障排除 ”。
    清单5.修改后的php.ini
    [Zend]
    zend_extension="/full/path/to/ZendDebugger.so"
    zend_debugger.allow_hosts="127.0.0.1, 10.0.1.3"
    zend_debugger.expose_remotely=always
    1. 重新启动您的Web服务器。
    2. 通过在脚本中使用phpinfo()函数或通过php -m命令验证Zend Debugger是否已正确安装,然后在[Zend Modules]下查看。
    清单6. php -m命令的输出
    [Zend Modules]
    Zend Debugger

    如果在尝试验证安装时未看到列出的模块,则将无法通过PDT运行调试器,如下一节所述。 您必须先正确安装模块,然后才能在服务器上调试文件。

    验证模块已成功安装后,请继续“设置PDT”部分。

    安装XDebug

    要将XDebug用作PDT的调试器,您需要下载XDebug并安装它,就像完全不用Eclipse一样。 有在马丁施特莱歇尔的文章,题为“PHP应用程序与XDebug的壁球的bug”(见下载并安装XDebug的很好的说明相关主题 )。 在撰写本文时,这些说明仍然适用,并且本教程仅在非常高的级别上介绍它们:

    1. 根据需要下载二进制文件(Windows)或源文件(Linux或Mac OS X)。
    2. 如果您使用的是Mac OS X或Linux,请编译XDebug库。 为此,请首先在目录中运行phpize命令,然后运行make命令,如下所示。
    清单7.编译XDebug的命令
    # cd [directory_with_source]
    # phpize
    # make
    1. 编辑php.ini文件,以使用适当的zend_extension指令包含XDebug的模块(有关详细信息,请参见“ 故障排除 ”)。
    2. 重新启动您的Web服务器。
    3. 通过在Web服务器上的脚本中使用php -m命令或phpinfo()函数,验证XDebug是否已正确安装。 phpinfo()输出的示例如图9所示php -m输出如清单8所示。
    图9. phpinfo()输出中的XDebug
    phpinfo()输出中的XDebug
    清单8. XDebug的示例php -m输出
    [Zend Modules]
    Xdebug

    必须先正确安装模块,然后才能使用PDT和XDebug进行调试。 如果看不到模块信息,请查看“ 故障排除 ”部分以获取提示。

    使用XDebug进行调试要比使用Zend Debugger进行更多的调试工作,因为您可能必须自己编译模块。 但是现在您可以在Web服务器上调试本地脚本和文件了。

    配置调试器

    安装了两个受支持的调试器后,可以进一步使用Eclipse中PHP \ Debug下的首选项来配置PDT的工作方式,如下所示。

    图10. PHP Debug首选项
    PHP调试首选项

    请注意,默认情况下,这两个调试器设置为侦听不同的端口:Zend Debugger和XDebug分别为10000和9000。 根据您在环境中设置的内容,您可能必须修改设置。 如果更改端口设置,请确保未将调试器配置为绑定到相同的端口(如果已安装)。

    设置PDT

    此时,您应该已经安装和配置了XDebug或Zend Debugger,并且应该已经验证它是否已正确安装。 在可以连接到任何一个调试器并将其与PDT结合使用之前,必须对PDT进行一些配置更改,以告诉它要使用哪个调试器。

    设置您PHP服务器

    在安装PDT时,您应该已经有了一个可在其上运行项目PHP服务器。 如果已经设置了默认的Web服务器,则可以跳过此部分。 但是,如果没有,则可以设置服务器,以便可以在本地计算机上调试PHP网页。

    设置服务器:

    1. 打开PHP服务器首选项,展开PHP ,然后单击PHP Servers ,如下所示。
    图11. PHP服务器首选项
    PHP服务器首选项
    1. 单击“ 新建”将新服务器添加到列表中。
    2. 在“ 配置PHP服务器”中 ,在“ 名称”字段中键入一个名称(例如PHP Server ,然后键入基本URL(例如, http://localhost )。
    3. 单击下一步
    4. 单击Add添加新的路径映射(请参见图12)。 您可以单击浏览以从工作区中选择一个位置,然后确保资源的完整路径显示在“ 服务器上路径”字段中。 例如,在我的webDebugExample项目中, 在工作区路径中有/ webDebugExample, 在“服务器上路径”字段中有/ Users / nagood / Sites / webDebug。
    图12.添加一个新的服务器映射
    添加新的服务器映射

    设置PHP可执行文件

    使用调试器之前,必须验证PHP可执行文件是否正确设置。 打开Eclipse首选项,展开PHP ,然后单击PHP Executables ,如图13所示。在这里,您可以从Zend的站点上看到PDT项目捆绑版本的全新安装;请参见图13。 可执行文件已经设置好了,无事可做。

    图13. PHP Executables首选项
    PHP可执行文件首选项

    要添加和配置新的可执行文件,请单击添加 。 出现Add new PHP Executable窗口,如图14所示。在Name字段中输入一个描述性名称(名称可以包含空格),然后单击Browse找到PHP可执行文件路径(即/ usr / local / php5 /)。 bin或C:\ PHP)和php.ini文件(如果您不知道文件的位置,请参阅“ 疑难解答 ”以获取有关查找此文件的提示)。

    图14.定义一个PHP可执行文件
    定义一个PHP可执行文件

    最后,选择正确PHP调试器。 重要的是:如果选择了错误的调试器,则项目可能根本不执行或可以执行,但不会在断点处停止。

    调试简单的脚本或Web应用程序

    您的工作区中有一些示例项目。 您还应该熟悉PHP Debug透视图。 XDebug或Zend Debugger均已安装,正确配置和验证。 最后,应该将PDT配置为使用已安装的调试器。 完成所有这些之后,您就可以准备调试第一个PHP脚本了。

    设置断点以调试脚本

    要查看调试的工作方式,最好设置一个调试器将在其处停止的断点。 当调试器在断点处停止时,可以使用PHP Debug透视图中的各种视图来检查变量值。 您还可以使用“调试”视图中的按钮逐步浏览代码。

    因此,在helloworld.php脚本的第7行上设置一个断点。 为此,请选择helloworld.php,然后选择“运行”>“调试为”>“ PHP脚本” 。 如果这是您的第一次调试,Eclipse会询问您是否要自动切换到PHP Debug透视图。 如果您希望在调试PHP脚本时激活“ PHP调试”透视图,请单击“ 是” ,然后选择“ 记住我的决定” ,如下所示。

    图15.自动切换到Debug PHP透视图
    自动切换到Debug PHP透视图

    启动后,PHP脚本在第一行代码处中断。 这是设计使然的默认配置。 从这里,您可以单步执行代码或前进到下一个断点。 如果前进到在第7行设置的断点,则“调试”视图将显示您已暂停在断点处。

    图16.挂在断点处(第7行)
    暂停在断点(第7行)

    当您仍然在断点处暂停时,请查看Variables视图(请参见图17)。 $name$i这两个变量现在都在作用域中,您可以看到它们的值。 $name变量包含字符串world ,而$i变量设置为0

    图17. helloworld.php的第7行的变量
    helloworld.php的第7行的变量

    因为断点在循环内,所以执行下一个断点将进入循环中的下一个迭代。 您可以在“变量”视图中观察$i增量的值。

    要继续执行而不停止每次迭代,请打开Breakpoints视图,如图18所示。通过清除helloworld.php(行:7)旁边的复选框,暂时禁用断点。 现在,当您再次执行下一个断点时,调试器将跳过所有下一个迭代并运行到最后。

    图18. helloworld.php中的断点
    helloworld.php中的断点

    您可以添加变量并修改代码以进行实验,并查看调试器的行为。

    调试您的Web应用程序

    奇怪的是,您正在使用PHP来构建Web应用程序,并且想要在服务器上调试PHP脚本。 通过在服务器上调试PHP网页,可以查看如何设置服务器变量(例如$_GET$_POST ,以便您了解它们的值并可以在页面之间进行调试。

    要尝试调试PHP应用程序,请使用webDebugExample项目。 这是一个简单的示例,允许您在输入字段中键入一个值,然后提交表单以供results.php脚本处理。 在完成此练习时,您可以遵循如何使用表单中变量的名称和值填充$_POST变量。

    选择enterGreeting.php,然后选择运行>调试为> PHP网页 。 如果这是您第一次运行调试器,系统将提示您输入文件的启动URL。 在这里,您键入文件的完整URL,请记住该文件将位于Web资源所在的位置。 例如,我的位于http://localhost/~nagood/webDebug/enterGreeting.php。 接下来,在results.php文件的第14行设置一个断点。

    清单9.第14行的断点
    print ("<b>Your greeting is:  <i>" . $gm->getFormalGreeting() 
        . "</i></b>");

    启动PHP Web应用程序时,调试器将在enterGreeting.php文件的第一行停止。 您可以单步执行以查看调试器的运行情况,或者只是执行到最后。

    在表单的文本输入框中键入一个值,然后单击Submit 。 现在,调试器在results.php文件的第一行停止。 执行到在脚本的第14行设置的断点,您将看到$gm变量中填充了一个值,并且$_POST数组具有上一页中的值。

    图19. results.php中的变量
    results.php中的变量

    从第14行开始,您可以执行到最后,也可以在“调试”视图中单击“单执行”以单步进入 GreetMaster2000类的getFormalGreeting()函数。

    故障排除

    本节提供了对调试器和关联文件进行故障排除的过程和技术。

    找到正确的php.ini文件

    将PHP配置为使用调试器扩展(XDebug或Zend Debugger)时,确保您编辑的是正确的php.ini文件,并且调试器具有正确的zend_extension变量,这一点很重要。 要查找您PHP安装所使用的php.ini文件的完整路径,请在Web目录中放置的简单脚本中使用phpinfo()函数。

    清单10.简单的phpinfo.php脚本
    <?php
        phpinfo();
    ?>

    或者,键入命令php -i | grep "Loaded Conf" php -i | grep "Loaded Conf" ,您将得到类似Loaded Configuration File => /usr/local/php5/lib/php.ini

    使用正确的zend_extension指令

    现在,您确定需要编辑哪个php.ini文件,获取正确的zend_extension指令以用于安装非常重要。 再次使用phpinfo()php -i方法来找到两个值: Thread SafetyDebug Build 。 表1可以帮助您确定要使用哪一个。 一个常见的错误是在需要使用zend_exention_ts时使用zend_extension ,这是一个很难发现的错误(一开始)。

    表1.选择正确的配置密钥
    键名 线程安全 除错
    zend_extension
    zend_extension_ts
    zend_extension_debug
    zend_extension_debug_ts

    调试器不会停止

    如果调试器根本没有停止,则很可能发生以下三个问题之一:

    • 首先是您没有正确设置扩展模块(可能的原因请参阅“使用正确的zend_extension指令”)。
    • 如果您已验证扩展程序设置正确,则可能未设置PDT以使用已安装的调试器。 如果您选择Zend Debugger作为PHP可执行文件的调试器,但是在php.ini文件中设置了XDebug,您将得到一些非常意外的行为。
    • 否则可能是防火墙问题。 确保已在防火墙允许的“ PHP调试器”首选项中配置了端口(如果已安装并正在运行防火墙)。

    确定您的扩展目录位置

    要将XDebug或Zend Debugger扩展二进制文件与所有其他扩展名安装在同一位置,请使用phpinfo()php -i找出目录的位置。 有关php -i命令的示例,请参见清单11。

    清单11.查找扩展目录
    ...
    extension_dir => /usr/local/php5/lib/php/extensions/
    ...

    摘要

    PDT项目支持两个调试器:XDebug和Zend Debugger。 结合使用PDT和受支持的调试器之一,您可以以图形方式轻松地调试PHP脚本和Web应用程序。 使用IDE调试PHP可以节省大量时间,尤其是与使用较旧技术的调试脚本或使用命令行进行调试相比。


    翻译自: https://www.ibm.com/developerworks/opensource/tutorials/os-php-eclipse-pdt-debug/index.html

    eclipse pdt

    展开全文
  • Eclipse PDT V2.0项目是最近发布的。 它包括以前版本的许多新可用性功能,包括添加构建路径,打开类型和访问改进的代码帮助的功能。 本文演示了如何下载和安装WordPress,以及如何使用Eclipse PDT构建插件。 它还...

    eclipse pdt

    Eclipse PDT V2.0项目是最近发布的。 它包括以前版本的许多新可用性功能,包括添加构建路径,打开类型和访问改进的代码帮助的功能。

    本文演示了如何下载和安装WordPress,以及如何使用Eclipse PDT构建插件。 它还演示了如何从Eclipse导出插件以便可以共享。

    为了充分利用本文,您需要具有以下工具:

    • PHP V4.3或更高版本
    • MySQL V4.0或更高版本
    • 带有PDT的Eclipse V3.4

    WordPress概述

    WordPress是一个用PHP编写的发布平台,可让您快速轻松地将内容发布到Web。 它是高度可扩展的,允许您创建提供几乎所有功能的插件。 自2005年以来,大型公司和个人都下载并使用了数百万份副本。

    WordPress易于安装和配置,并且要求很少:仅PHP和MySQL。 要安装WordPress,只需从Web站点下载ZIP文件(请参阅参考资料 ),然后将ZIP提取到可从Web服务器访问的目录中。 在本文中,我使用的Web服务器配置为允许将用户目录(如Apache中的userdir模块)发布到Web服务器。 重命名目录,如果您愿意:我将我的内容从wordpress更改为blog。

    解压缩文件并重命名目录后,请按照“著名的5分钟安装”说明进行操作(请参阅参考资料 )。 如果您有一个支持WordPress要求的Internet服务提供商(ISP),则可以在本地进行开发并将整个目录通过FTP传输到您的站点。

    扩展WordPress

    尽管使用WordPress可以轻松发布任何内容,但许多人都使用WordPress进行博客。 我曾在使用WordPress作为主要引擎的网站上托管有关产品的信息站点,这些产品包括论坛,反馈表和主页上的Adobe®Flash®动画。

    WordPress提供了许多插件(请参阅参考资料 )。 这些插件的范围包括添加自定义字段以收集有关WordPress网站注册用户的更多信息的功能,以标记云,反垃圾邮件实用程序以及联系插件,这些插件会生成指向诸如Facebook,MySpace,del的流行网站的“共享此”链接.icio.us和Technorati。

    但是即使使用了所有这些插件,在某些情况下,您仍需要扩展WordPress以满足自己的需求。 本文的其余部分说明了如何使用Eclipse和PDT设置开发环境,您可以在其中开发和测试WordPress插件。

    设置工作区

    在设置工作区之前,请确保已安装并运行WordPress。 您将需要具有对WordPress目录的读写权限。 最好的情况是在计算机上的Web服务器上配置用户目录,以便将文件放在自己的主目录中。 但是共享目录也可以工作,只要您可以对其进行读写。

    在继续之前,请在WordPress_home / wp-content / plugins目录中创建一个目录(其中WordPress_home是将WordPress提取到的目录的完整路径),例如WordPress home / wp-content / plugins / myplugin。 稍后,该目录将成为新WordPress插件的目录。

    如果您已启动并运行WordPress,并且可以读写您刚刚为该插件创建的目录,则可以为WordPress插件创建一个新项目:

    1. 选择File> Project ,然后从Wizards列表中选择PHP Project ,如图1所示。
      图1.创建新PHP项目
      创建新PHP项目
    2. 单击下一步
    3. 在“ 新建PHP项目”窗口中,在“ 项目名称”框中键入插件的名称
    4. 目录下 ,选择从现有源创建项目 。 然后在Directory框中浏览或键入您刚刚创建的目录的名称(例如,我的目录是/ Users / ngood / Sites / blog / wp-content / plugins / myplugin),如图2所示。
      图2.定义项目位置
      定义项目位置
    5. 输入目录信息后,单击完成 ,因为其余信息保留为默认值。

    创建项目后, WordPress_home / wp-content / plugins / myplugin目录的目录清单类似于清单1。

    清单1.新的myplugin目录的内容
    drwxr-xr-x  7 user  user    238 Feb  3 11:02 .
    drwxr-xr-x@ 5 user  user    170 Feb  3 08:39 ..
    -rw-r--r--  1 user  user    259 Feb  3 11:10 .buildpath
    -rw-r--r--  1 user  user  30244 Feb  3 11:02 .pmd
    -rw-r--r--  1 user  user    496 Feb  3 08:39 .project
    drwxr-xr-x  3 user  user    102 Feb  3 08:39 .settings
    -rw-r--r--  1 user  user    795 Feb  3 11:13 myplugin.php

    在团队环境中工作

    如果您在团队环境中工作并共享代码,则Eclipse工具将负责将文件从正确的目录检入到源代码控制存储库中。 但是,请注意文件从团队共享环境导入到工作区的目录。 将文件从源代码控制存储库导入到工作区时,可以定义文件的存储位置(请参见图3)。 有关将Eclipse与源代码存储库一起使用的更多信息,请参阅参考资料

    图3. WordPress管理员窗格中显示的插件
    如WordPress管理员窗格中所示的插件

    将WordPress添加到您的构建路径

    PDT项目提供了将文件夹添加到构建路径的功能,还使您能够使代码完成工具与WordPress一起使用。 为了能够在代码完成中看到add_filteradd_action函数,您可以修改构建路径以添加WordPress wp-includes目录。

    要将WordPress wp-includes目录添加到构建路径,请选择Project> Properties ,突出显示您PHP项目。 在“ 库”选项卡上,单击“ 添加外部源文件夹” ,然后浏览到安装WordPress的wp-includes目录。 完成后,单击“ 确定” 。 现在,您可以在PHP编辑器中键入add_ ,调用代码完成功能,并查看包含add_actionadd_filter的列表。

    添加您的第一个插件文件

    要添加第一个插件文件,请选择File> New> PHP File 。 第一个文件的名称必须与文件所在的目录相同。 例如,如果插件目录名为myplugin,则将文件命名为myplugin.php。 这将是WordPress读取的文件,以获取有关您的插件的信息并注册您的扩展点。

    为了使WordPress能够识别您的插件,您需要在新插件文件中粘贴一个注释块。 如果要创建许多WordPress插件,则可能需要考虑将此代码块放入PHP的代码模板中。 有关完整代码块的示例,请参见清单2。

    清单2.用于标识您的插件的注释块
    /*
    Plugin Name: My Plugin
    Plugin URI: http://www.example.com/myplugin
    Description: This is a really great plugin that extends WordPress.
    Version: 1.0.0
    Author: Nathan A. Good
    Author URI: http://www.nathanagood.com
    */

    目前,您的插件没有任何作用。 但是只有注释块,它将显示在WordPress的插件管理区域中。 要查看新插件,请以管理员身份登录WordPress实例,然后点击插件 。 您应该会在“非活动插件”下看到新的插件。

    图4.从源代码控制存储库导入时定义源位置
    从源代码控制存储库导入时定义源位置

    增加功能

    在本文中,我添加了两个功能。 第一个是使博客条目标题变为大写的简单方法。 这是添加过滤器的示例。 第二个是用户注册表格末尾的额外字段。 这是添加动作的示例。

    我将用功能代码编写示例,以使其尽可能简短。 切记:如果您使用的是PHP V5或更高版本,则可以合并面向对象的概念,以使代码更易于阅读和维护。 有关使用面向对象的编程概念和设计模式编写更可维护PHP的更多信息,请参见参考资料

    大写标题

    清单3中显示了标题过滤器的代码。在其中,您可以看到它使用PHP中的strtoupper()函数将博客文章的标题设为大写。

    清单3.使标题大写的函数
    /**
     * Capitalizes the title given by $title.
     */
    function capitalizeTitle($title) {
        return strtoupper($title);
    }

    编写函数后,需要调用add_filter在WordPress中将函数注册为指定的过滤器扩展点。 以可用过滤器的完整列表的链接中提供相关信息 。 下面显示了添加过滤器的示例。

    清单4.使用add_filter添加过滤器
    /* now add the filter */
    add_filter('the_title', 'capitalizeTitle');

    添加注册字段

    清单5中显示了生成新的自定义注册字段的代码。我使用Firebug扩展来查看现有注册表单字段的级联样式表(CSS)样式,以确保我的自定义字段具有相同CSS样式类。

    清单5.新的自定义字段操作
    /**
     * Adds a custom field that prompts the user for their favorite
     * color.
     * @return void
     */
    function drawCustomField() {
        echo '<p><label>Favorite Color:<br />';
        echo '<input autocomplete="off" class="input" name="fav_color" ';
        echo ' id="fav_color" size="25"';
        echo ' value="' . $_POST['fav_color'] . '" type="text" tabindex="32" />';
        echo '</label><br /></p>';
    }

    要添加自定义操作,请使用以下代码。

    清单6.使用add_action添加动作
    /* now add the action */
    add_action('register_form', 'drawCustomField');

    此操作只是在表单上绘制字段。 用户提交表单时,它实际上并不保存数据。 要保存数据,请使用profile_update操作。 有关可用操作及其作用的完整列表的链接,请参阅参考资料

    测试插件

    将代码放入项目后,您就可以测试插件了。 在测试之前,您需要在WordPress中启用该插件。 以管理员身份登录WordPress,然后点击插件 。 找到您的插件,然后单击“ 激活”

    激活插件后,请转到博客的主页。 您应该注意到“ Hello World!” 示例帖子标题现在全部用大写字母表示。 如果停用插件,它将恢复为大写字母。 您可以使用此功能执行其他操作,例如将标题中找到的URL转换为超链接。 您可以添加多个具有相同名称的过滤器,因此,与其创建一个执行不同功能的过滤器,不如考虑制作小型集中的函数并将它们链接在一起。

    要测试插件的注册字段部分,您必须以管理用户身份登录WordPress,并在“ 设置”页面上启用允许用户注册的功能 。 启用此选项后,当您转到注册页面时,将看到“ 收藏夹颜色”字段。

    其他WordPress扩展点

    除了添加过滤器和操作外,您还可以覆盖WordPress中的功能。 您可以覆盖的功能在WordPress主目录中的pluggable.php文件中定义。 一个示例是wp_mail ,它使您有机会提供另一种通过电子邮件发送用户的功能。 许多可覆盖的功能处理用户授权,例如登录,设置cookie以及通知不同事件。 覆盖基于授权的功能的功能使您可以构建可为WordPress提供替代形式的身份验证和授权的插件,例如针对企业用户存储的身份验证。

    导出插件

    在编写并彻底测试了插件之后,您可能希望与他人共享它。 WordPress插件的打包方式与WordPress本身一样:多数只是一个ZIP文件,该文件会被扩展并复制到WordPress插件目录中。

    您可以使用Eclipse导出插件文件。 通过使用Eclipse将项目导出到ZIP存档文件,您可以避免发送特定于项目的文件以及团队共享目录和文件(例如.svn或并发版本系统(CVS)目录)。

    要将插件导出到存档文件,请选择您PHP项目,然后选择File> Export 。 在“ 选择”窗口中,从目标列表中选择“ 存档文件 ”,然后单击“ 下一步”

    图5.导出WordPress插件
    导出您的WordPress插件

    在图6所示的Archive File窗口中,单击Deselect All ,然后单击要包含在归档文件中PHP文件(例如myplugin.php)。 选择完PHP文件后,从To存档文件中选择存档文件的位置,然后单击Finish创建文件。 为了保持一致性,最好使ZIP文件的名称与插件目录和主插件文件相同。

    图6.选择要导出的文件
    选择要导出的文件

    现在,您已经从Eclipse创建了归档文件,可以将其发布到Web服务器上,或者将其复制到ISP的位置,以便可以使用它。

    要在官方WordPress网站上添加有关您的插件的信息,请参阅参考资料并按照说明进行操作。

    结论

    WordPress是一个日益流行的,可扩展的Web应用程序,它使您可以轻松地向用户发布内容。 您可以扩展WordPress以提供更多功能,而无需修改任何WordPress代码。

    安装了PDT的Eclipse IDE允许您使用PHP工具构建插件。 您可以使用WordPress测试并运行您的插件,直到完成为止。 然后,您可以使用Eclipse导出功能将插件导出到适合分发的归档文件中。


    翻译自: https://www.ibm.com/developerworks/opensource/library/os-eclipse-wordpress/index.html

    eclipse pdt

    展开全文
  • GAT 1059-2013PDT安全规范,规定了应用于警用数字集群(PDT) 通信系统中鉴权、空中接口安全和端到端安全等方面的技术规范和要求。
  • PDT警用系统建设方案

    2015-12-13 14:28:00
    真实案例.以万格公司给某地的PDT警用系统建设方案,供参考使用。
  • I'm new to Eclipse, using PDT (helios). I keep getting warnings for "Unknown Tag (article)", also besides 'article' theres unknown tag warnings with 'nav', 'footer', 'header', etc. What I can infer fr...

    I'm new to Eclipse, using PDT (helios). I keep getting warnings for "Unknown Tag (article)", also besides 'article' theres unknown tag warnings with 'nav', 'footer', 'header', etc. What I can infer from this is that Eclipse has a problem with HTML5 Validation.

    I have one file Template.php which is used throughout the project and I've defined the DOCTYPE like so:

    I tried looking into Project>Properties>Validation But I don't see anything there that I can change / modify for this. How would I ensure HTML5 is properly validated by eclipse?

    展开全文
  • eclipse pdt03

    2008-07-04 09:00:03
    eclipse pdt parts03 共13
  • eclipse pdt补丁 helios可用,3.7应该也可以用
  • pdt-项目 测试人员编程 nshegai
  • pdt-22-java-voinarovskaya
  • eclipse pdt02

    2008-07-04 08:55:18
    eclipse pdt第2部分 共13部分
  • PDT配置

    2013-05-08 10:09:00
    配置过很多次PDT,一直觉得这个事情很繁琐,没有一个软件可以把这些事情都做好。现在记录一下最简单的方案。 在http://www.zend.com/en/company/community/pdt/downloads下载All-in-one的eclipse。 在...
  • PDT终端越区切换算法设计与优化.pdf
  • 基于PDT与EDMA的高速数据传输设计、电子技术,开发板制作交流
  • Eclipse PDT Guide

    2008-01-16 21:55:51
    Eclipse 2.0 PDT Guide 比较老,参考。
  • 电信设备-PDT多信道监测仪.zip
  • PDT-20-Sergey-Rodin-源码

    2021-07-05 10:25:39
    PDT-20-谢尔盖-罗丹 DZ1 DZ2 DZ3 DZ4 DZ5 DZ6 DZ7
  • pdt时间

    2010-12-09 14:42:00
    PDT 时间 PST时间 扩展 编辑本段 PDT 时间 PDT (Pacific Daylight Time)太平洋夏季时间。 北美的西海岸太平洋沿岸地区,大城市有:温哥华,西雅图,旧金山,洛杉矶,拉斯维加斯,圣迭戈...
  • 跨部门的PDT激励机制研究,刘觅,杨育,针对企业跨部门项目团队内缺乏有效的团队成员激励机制的问题,在对项目成员的能力、风险规避度和团队化程度等因素分析的基础上,
  • PayPal PDT是什么?怎么设置PDT token?

    千次阅读 2012-11-05 16:01:18
    PDT通常和PayPal的网站付款标准版(Web Payment Standard)配合使用,目前快速结账(Express Checkout)和信用卡付款尚不支持PDT。 工作原理 一旦启用 PDT,每次买家进行网站付款并被重新定向到您的返回 URL ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 18,704
精华内容 7,481
关键字:

PDT