选择 PHP Debugger 调试器

选择哪个 PHP 调试器?

[转载请注明出处:http://as32.net/blog/?p=8854]

PHP 并没有内部调试器。但是可以使用外部调试器。» Zend    IDE 就是其中之一,它包含一个调试器。

也有一些免费的调试器,比如在     » http://www.php-debugger.com/dbg/ 上的 DBG,» Advanced    PHP Debugger(APD,注:似乎已经停止更新)或者 » Xdebug

 

Zend Studio

 

优点:支持全php版本,集成度高,兼容性好。
缺点:程序庞大,需付费的软件。

zend2

使用Zend Technologies开发的 Zend Studio ,因为它是专业开发人员PHP整个开发周期中唯一的集成开发环境 (Integrated Development Environment,IDE),它包括了PHP所有必须的开发部件。通过一整套编辑、调试、分析、优化和数据库工具,Zend Studio 加速开发周期,并简化复杂的应用方案。

它支持PHP语法加亮显示,支持语法自动填充功能,支持书签功能,支持语法自动缩排和代码复制功能,内置一个强大的PHP代码调试工具,支持本地和远程两种调试模式,支持多种高级调试功能。也支持HTML和js标签,但只对PHP语言提供调试支持。

因为是同一个公司的产品,所以它对的Zend Framework方面的支持比其他软件好。

Zend Studio5.5系列后,官方推出利用了Eclipse平台,基于PDT的Zend Studio for Eclipse 6.0,之后的版本也都构建于Eclipse。

Zend Studio是屡获大奖的专业 PHP 集成开发环境,具备功能强大的专业编辑工具和调试工具,
Zend Studio可以在Linux、Windows、Mac OS X上运行。 最大遗憾是Zend的产品是付费的。

Xdebug

优点:支持php4.3 – 5.5版本,支持zend引擎,免费。
缺点:Xdebug 不能和 Zend Optimizer或任何其他处理 PHP 的内组件 (DBG、 APD、 ioncube 等) 的扩展。这是因为这些模块有兼容性问题。

th3162CISP

推荐安装扩展插件 XDEBUG EXTENSION FOR PHP   –  文档:http://xdebug.org/docs/all

Windows下安装预编译的  模块,有几个预编译的模块,用于 Windows,他们是所有的非调试版本的 PHP。你可以得到那些在下载页。按照这些说明来安装 Xdebug。

安装可以在其网站使用web向导模式,帮助你安装: http://xdebug.org/wizard.php

一下是按照方法:

1. 在cmd下,php -i >> c:\\phpinfo.txt

QQ图片20140322221633

信息保存在 ,然后拷贝phpinfo.txt中内容至http://xdebug.org/wizard.php的文本框内,

QQ图片20140322214706

然后点击 ‘Analyse my phpinfo() output’ 按钮,将会分析你的phpinfo,然后显示出分析的php配置,以及你要在php.ini中添加的内容:

QQ图片20140322215459

你对应下载所提示的dll文件,放在第2步所对应的你的php安装目录中,第3步在php.in中添加一行:zend_extension = "C:\Program Files\iis express\PHP\v5.3\ext\php_xdebug-2.2.3-5.3-vc9-nts.dll"

然后查看phpinfo() 或者cmd php -i 检查是否已经加载了xdebug

QQ图片20140322223207

phpdbg

优点:PHP官方推介的。从 PHP5.6 phpdbg 将以SAPI 模块包含在 PHP内,实现交互式调试器。
缺点:必须版本 > PHP 5.4.0 以及最新版本。易用性暂不明确。

QQ图片20140322224702

PHP官方网站里显示:

PHP 5.6.0 alpha 最后终版附带了一个交互式调试器名为phpdbg。
phpdbg 项目页面: http://phpdbg.com/

Phpdbg 以 SAPI 模块实现的而不会影响代码的性能或功能可以 excert 完全控制环境。

phpdbg 的目标是一个轻量、 功能强大、 易于使用的调试平台,自 PHP5.4 +

功能

  • Stepthrough 调试
  • 类方法、 函数、 File:Line、 地址操作码) 的灵活断点
  • 方便地访问到 PHP 的内置 eval()
  • 方便地访问到当前正在执行的代码
  • 用户态的 API
  • SAPI 不可知论-轻松地集成
  • PHP 配置文件支持
  • JIT 超级全局变量-设置您自己!!
  • 可选 readline 支持-终端操作舒适
  • 远程调试支持-捆绑 Java GUI
  • 容易操作-请参阅帮助:)

详细文档查看: http://phpdbg.com/docs

Phpdbg 还有一个远程调试时所使用的Java GUI客户端程序:

QQ图片20140322225717

希望PHP 5.6发布后看看Phpdbg的功效如何!

JS中转义字符在replace中的转码替换

JS特殊符号的replace转码替换方法.

里面转的不全, 比如& 很多没有加, 自己添加把.

关于转义字符先关的网址:

 

<script>
        window.onload = function () {
            var xxxx = "&quot;&lt;&gt;&amp;测试代码";
            alert(html_decode(xxxx));
        }

function html_encode(str)   
{   
  var s = "";   
  if (str.length == 0) return "";   
  s = str.replace(/&/g, "&gt;");   
  s = s.replace(/</g, "&lt;");   
  s = s.replace(/>/g, "&gt;");   
  s = s.replace(/ /g, "&nbsp;");   
  s = s.replace(/\'/g, "&#39;");   
  s = s.replace(/\"/g, "&quot;");   
  s = s.replace(/\n/g, "<br>");   
  return s;   
}   

function html_decode(str)   
{   
  var s = "";   
  if (str.length == 0) return "";   
  s = str.replace(/&gt;/g, "&");   
  s = s.replace(/&lt;/g, "<");   
  s = s.replace(/&gt;/g, ">");   
  s = s.replace(/&nbsp;/g, " ");   
  s = s.replace(/&#39;/g, "\'");   
  s = s.replace(/&quot;/g, "\"");   
  s = s.replace(/<br>/g, "\n");   
  return s;   
}   

</script>

 

 

GIT与SVN的优缺点比较

git_logosf-logo

GIT与SVN的优缺点比较

Subversion
1.SVN优缺点
优点:
1、 管理方便,逻辑明确,符合一般人思维习惯。
2、 易于管理,集中式服务器更能保证安全性。
3、 代码一致性非常高。
4、 适合开发人数不多的项目开发。
缺点:
1、 服务器压力太大,数据库容量暴增。
2、 如果不能连接到服务器上,基本上不可以工作,看上面第二步,如果服务器不能连接上,就不能提交,还原,对比等等。
3、 不适合开源开发(开发人数非常非常多,但是Google app engine就是用svn的)。但是一般集中式管理的有非常明确的权限管理机制(例如分支访问限制),可以实现分层管理,从而很好的解决开发人数众多的问题。

 

 

logo@2x
2.Git优缺点
优点:
1、适合分布式开发,强调个体。
2、公共服务器压力和数据量都不会太大。
3、速度快、灵活。
4、任意两个开发者之间可以很容易的解决冲突。
5、离线工作。
缺点:
1、学习周期相对而言比较长。
2、不符合常规思维。
3、代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息。