首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > CVS SVN >

PHP xdebug eclipse subversion SVN phpunit x地图p 企业级团队开发环境搭建 集成单元测试 花样调试 版本控制 张迅雷原

2012-08-08 
PHP xdebug eclipse subversion SVN phpunit xmapp 企业级团队开发环境搭建 集成单元测试 花样调试 版本控

PHP xdebug eclipse subversion SVN phpunit xmapp 企业级团队开发环境搭建 集成单元测试 花样调试 版本控制 张迅雷原创 欢迎转载

     经常在博客见到一个争论不休的话题——到底该不该学php?是学java、donet还是php?本文不讨论PHP、JSP、ASP.NET/ASP 孰优孰劣,有那功夫劲,还不如搭建个环境动手试试,毕竟存在即道理, 百度、腾讯、新浪、搜狐、淘宝、迅雷都有用到php,那么说明php还是有生命力的,市场给予了它更多的期待。张迅雷原创PHP企业级团队开发最佳环境 欢迎转载与交流

 

    搭建php开发环境有很多种方式,常见的有如下两种:

LAMP:linux、apache、mysql、php

WAMP :windosw、apache、mysql、php

本文以WAMP架构的开发环境为背景讲解,请下载以下软件做为准备:XAMPP集成安装包、eclipse 、subversion、PDT、SVN服务端(用svn或者visualSVN。

 

1 安装XAMPP安装包

在windows系统下XAMPP安装过程很简单,基本上点击下一步即可,我测试的时候下载的是最新的安装包,xampp-win32-1.7.7-VC9-installer.exe  发现安装完成后出现了网上很多网友反映的apache服务无法启动的现象,既然是vc9的错误提示,肯定和windows存在着裙带关系,于是下载vcredist_x86.exe  安装后解决了apache服务无法启动的问题,1.7.7前面的版本不存在这个问题。

PHP xdebug eclipse subversion SVN phpunit x地图p 企业级团队开发环境搭建 集成单元测试 花样调试 版本控制 张迅雷原创 欢迎转载

2 xdebug的配置

编辑php.ini文件配置相关扩展。
找到“implicit_flush = Off”,将它改为“implicit_flush = On”。
找到“zend_extension”,将php_xdebug.dll前面的分号;去掉。

如:zend_extension = "f:\xampp\php\ext\php_xdebug.dll"。
找到以下各条,分别去掉;并改成如下显示的配置:
xdebug.profiler_enable=1

xdebug.profiler_output_dir="f:\xampp\tmp"xdebug.

remote_enable=true

xdebug.remote_host=127.0.0.1

xdebug._remote_port=9000

xdebug.remote_handler=dbgp

重启apache服务之后,再次查看phpinfo()搜索“xdebug support”,已经enable,xdebug.remote_enable等参数也已经正确配置则说明配置成功。

3 安装eclipse

下载安装Java(JRE或JDK):http://www.java.com。

下载pdt: PDT有多个版本,具体下载哪个版本呢,其实都可以。
a. 在Zend 官方下载windows系统下安装的all in one pdt安装包(zend-eclipse-php-helios-win32-x86.zip):Windows 32 bit (184M-包含php zend debugger). –如果要启用zend debugger则使用该版本。
b. 在eclipse 官网下载PDT:  Eclipse PDT 2.2.0 All In Ones,All-In-One Windows 32-bit。(在这里下载的pdt all in one 并不包含debugger,必须另外下载php 调试工具,如PDT and Zend Server Community Edition或XDebug)。–XAMPP已经自带集成了和php版本配套的xdebug(C:\xampp\php\ext\php_xdebug.dll),因此不用再去xdebug.org下载。这个下载版本适合于安装完xampp后的配置,也就是本文用到的下载版本。
c. 已经安装了eclipse,安装pdt插件即可:打开eclipse:Help-> Software Updates-> Find and Install,选择“Search for new features to install”然后点击next,创建一个远程网址:Name: PDT;URL:http://downloads.zend.com/pdt,点击next开始安装pdt。
d. 也可以从Galileo的升级站点安装PDT 2.1,菜单中依次选择Help-》Install new sofeware-》Galileo Update Site –http://download.eclipse.org/releases/galileo/-》type filter text 输入pdt-》Programming Language中勾选PHP development tool sdk feature
Helios或其他版本,其他pdt安装方法可参考:PDT安装

e  Eclipse安装设置工作区
Eclipse pdt下载完毕,解压到目标目录如D:盘符。解压后点击eclipse.exe安装Eclipse,设置默认的workspace,这里设置为XAMPP的网站根目录,如f:\xampp\htdocs。

F 配置Eclipse编码和换行符
在Windows系统下开发的项目代码需要设置换行符才能在linux服务器上使用。设置Window -> Preferences -> General ->选择Workspace。设置Text file encoding为Other/UTF-8,New text file line delimiter设置为other/Unix。如下图所示:


g  Eclipse新建php项目
转到File->New->PHP Project,有两个选项:
create new project in workspace。首先可以在工组区(f:\xampp\htdocs)内新建php项目,如project name设置为php_dev,则在xampp根目录下会新建一个php_dev目录。若要为工作区内已经存在的目录新建php项目,则project name 必须和二级目录名相同,如要设置xampp目录为一个php项目,project name 也必须为xampp。
create project at existing location (from existing source),若选择该选项新建php项目,则directory不能在工作区内,必须是工作区以外的目录路径。否则会出现类似错误提示:Create a php project:Cannot create project content in workspace。问题出现的原因是在eclipse中,工作区workspace和项目project是两个完全独立的概念,Workspace给新建的project提供了一个默认位置,但是项目路径不能包含工作区在里面,项目也不一定非得在workspace中。因此可以在f:\xampp \htdocs下创建新的project,也可以在其他系统路径下建立新的项目。
h Eclipse配置Xdebug  Eclipse 中包含zend debugger的xdebug两种php调试工具,我们这里选择xdebug。因此首先要告诉eclipse使用xdebug:Window -> Preferences->php->Debug->Default settings->php debugger 选择xdebug。“Break at first line”勾选上,表示php调试时会在第一行暂停。如下图所示:
点击OK,如果出现the debugger port you requested 9000 is already in use的错误提示,则要修改XDebug的端口设置,点击上图中的XDebug右边的Configure,在新窗口中设置重新设置Xdebug的端口(debug port)为其他的,如10000等。同时在php.ini配置中也要将xdebug.remote_port=9000改成一致的端口。
然后设置XDebug的选项,在上图左侧树形菜单中,点击Debug下面的Workbench Options,设置allow multiple debug sessions为Never,使每次调试只能打开一个会话;设置Switch back to PHP perspective when the debug is terminated终止调试时自动跳转回到php代码编辑视图页面。
i   XDebug调试PHP文件
选中php文件右键Debug as php web page,或打开php文件点击菜单Run->Debug(F11)。设置点击Debug后自动跳转到PHP Debug 视图,设置:Window -> Preferences->Run/Debug->Perspectives->选择PHP Web Page->”Open the associated perspective when launching”选择”Always”。
Eclipse调试过程若出现: Launching: Waiting for XDebug session.  暂停在57%不动。一般是端口被其他程序占用,将端口10000 改回9000,同时php.ini中xdebug.remote_port也改回9000。下图是eclipse php XDebug调试的工具栏:
Resume重置,Terminate终止,Step Into执行调用函数,Step Over跳过执行下一行。
j  Eclipse安装Subversion(SVN)插件

SubclipseEclipse 的一个很大的优点是可以使用它进行PHP项目代码的版本控制,如安装Eclipse Subversion (SVN)插件Subclipse。在 Eclipse 的 “Help” 菜单中选择Install New Software 打开更新管理器。work with 右侧点击Add… 添加新的可用软件。随便输入名称,地址Location填上http://subclipse.tigris.org/update_1.6.x,如下图所示:
点击OK,pending..一会之后在新窗口中勾选3个库安装包(Core SVNKit Library、Optional JNA Library、Subclipse)共9项。然后点击next->next,选择I accept the terms of the license agreements。自动下载相关文件并安装,安装过程会出现如下警告信息:
"Warning: You are installing software that contains unsigned content. The authenticity or validity of this software cannot be established. Do you want to continue with the installation?"这是Eclipse提示Subclipse没有数字签名,点击OK继续安装。SVN插件Subclipse就安装完成后会提示重启Eclipse。重启Eclipse之后,点击菜单中的File >Import>SVN>会发现Checkout Projects from SVN(从SVN检出项目),证明Subclipse插件安装成功。
4 SVN  的配置

安装Subversion或者visaul SVN

一、Subversion 检出项目
File ->Import->SVN->Checkout Projects from SVN->创建新的资源库位置>选择新建位置,输入http://subclipse.tigris.org/svn/subclipse /->输入用户名和密码(用户名guest,密码为空,选中保存密码)->比如选择trunks下面的subclipse子文件夹-> 可以选择“Check out as a project in the workspace”(作为工作区项目检出)或“Check out as a project configured using the New Project Wizard”(使用新建项目配置向导),这就和手工新建项目差不多。
另外比如Joomla1.5版本的svn资源库地址是http://joomlacode.org/svn/joomla/development/releases/1.5。使用anonymous为用户名,密码为空。可以将SVN源码检出本地安装和测试。
二、Subversion共享项目:
在navigator菜单选中已经建立了项目名称,右键Team->Share preject…(小组>共享项目)。下一步选择SVN,Next->Use exsiting repository location(使用已有资源库位置:若没有创建可以参考上面的方法)->选择新项目导入到subversion服务器的文件库进行版本控制。Subversion 的命令和输出结果显示在 Eclipse Console 视图中,可以查看Subversion执行的过程。
三、Subversion 其他操作
Eclipse中subversion的其他操作包括更新(team->update)、添加/删除文件/目录、重命名、提交更改(team->commit)、合并、修补(team->apply patch)、比较等等操作,不在敷述。

5  PHPUNIT的集成

 

   写一个类

 

<?php

class HelloUnit

{

   

    public function add($a, $b)

    {

        return $a + $b;

    }

}

 

再写一个含有断言的测试类:

 

<?php

require_once 'PHPUnit/Framework/TestCase.php';

require_once 'HelloUnit.php';

 

class ReflectionUtilsTestextendsPHPUNIT_Framework_TestCase

{

 

    functiontestAdd()

    {

        $_helloUnit = newHelloUnit();

        $this->assertEquals(3, $_helloUnit->add(1, 2));

    }

}

 PHP xdebug eclipse subversion SVN phpunit x地图p 企业级团队开发环境搭建 集成单元测试 花样调试 版本控制 张迅雷原创 欢迎转载

PHP xdebug eclipse subversion SVN phpunit x地图p 企业级团队开发环境搭建 集成单元测试 花样调试 版本控制 张迅雷原创 欢迎转载

 

PHP xdebug eclipse subversion SVN phpunit x地图p 企业级团队开发环境搭建 集成单元测试 花样调试 版本控制 张迅雷原创 欢迎转载

热点排行