前段时间写了一篇 Zend Studio 8 的使用记录 ,这段时间才逐渐适应Zend Studio 8,主要是用5.5时间太长了。前两天在耀祖的博客里面突然发现了可以在Windows 7下安装Zend Studio 5.5的方法,真是喜上眉梢啊,立刻照做,终于5.5在Win7上重生了,真是一个爽字了得!下面就给自己找些弃8而去的理由,嘿嘿:
1.感觉Zend Strudio 8 还是太复杂,当然这个主要是习惯造成的。
2.Source Control这块Zend Strudio 8 不如Zend Strudio 5.5做的好,5.5可以直接调用本地的SVN,8貌似不行,不知道是不是我没找到。
3.资源占用比5要多很多。
4.8在调试的时候比5.5慢很多。
5.最重要的一点:习惯,嘿嘿。
Zend Studio 5.5的一些不足之处:
1.不能同时管理多个项目。
2.Ajax调用的调试比较麻烦。
以下是Windows 7 下安装Zend Studio 5.5的方法转自耀祖的博客:
1.下载最新的JRE(Java Runtime Environment),可上java官网下载,我安装的是JRE6。
2.使用WINRAR解压 Zend Studio 5.5.1.exe。该文件双击时会直接安装,而不显示解压的文件夹。因此,需要安装winrar后,在右键弹出菜单中选择解压。
3.进入解压后的文件夹 Zend Studio 5.5.1\Windows(下面简称A文件夹),将resource目录下的jre文件夹重命名为jre.back(或其他名称都可).
4.复制JRE安装目录(C:\Program Files\Java\jre6)中的jre6到第03步中的文件夹A,并将文件夹jre6重命名为jre。
5.执行安装A文件夹下的 Zend Studio 5.5.1.exe
6.安装完成后将A文件夹下resource目录中的jre.back文件夹复制到Zend Studio的安装目录中。
7.重命名安装目录中的 jre 文件夹为 jre6
8.重命名安装目录中的 jre.back 文件夹为 jre
9.在ZendStudio图标上点击右键/属性/兼容性 设置兼容模式为 Vista
10.启动Zend Studio
起因:业务管理系统中需要用PHP 的 urlencode 编码一段字符串,然后用js解码。
经过:在网上找到两种比较流行的方法,一种是:VBScript+js,另外是纯js但是需要大段转码库。共同点就是都很麻烦,最重要的是经我测试都是不能用的,不知道是不是我没用对。最后在这里找到一种超级简单且有效的方法:
JavaScript urldecode
Decodes URL-encoded string
function urldecode (str) {
// Decodes URL-encoded string
//
// version: 1107.2516
// discuss at: http://phpjs.org/functions/urldecode
// + original by: Philip Peterson
// + improved by: Kevin van Zonneveld(http://kevin.vanzonneveld.net)
// + input by: AJ
// + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
// + improved by: Brett Zamir (http://brett-zamir.me)
// + input by: travc
// + input by: Brett Zamir (http://brett-zamir.me)
// + bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
// + improved by: Lars Fischer
// + input by: Ratheous // + improved by: Orlando
// + reimplemented by: Brett Zamir (http://brett-zamir.me)
// + bugfixed by: Rob
// + input by: e-mike
// + improved by: Brett Zamir (http://brett-zamir.me)
// % note 1: info on what encoding functions to use from:
// http://xkr.us/articles/javascript/encode-compare/
// % note 2: Please be aware that this function expects to decode from UTF-8 encoded strings, as found on
// % note 2: pages served as UTF-8
// * example 1: urldecode('Kevin+van+Zonneveld%21');
// * returns 1: 'Kevin van Zonneveld!' // * example 2: urldecode('http%3A%2F%2Fkevin.vanzonneveld.net%2F');
// * returns 2: 'http://kevin.vanzonneveld.net/'
// * example 3: urldecode('http%3A%2F%2Fwww.google.nl%2Fsearch%3Fq%3Dphp.js%26ie%3Dutf-8%26oe%3Dutf-8%26aq%3Dt%26rls%3Dcom.ubuntu%3Aen-US%3Aunofficial%26client%3Dfirefox-a');
// * returns 3: 'http://www.google.nl/search?q=php.js&ie=utf-8&oe=utf-8&aq=t&rls=com.ubuntu:en-US:unofficial&client=firefox-a'
return decodeURIComponent((str + '').replace(/\+/g, '%20'));}
注释有一大堆,代码只有一行,呵呵。
1.双引号和单引号的区别:
- 如果字符串位于双引号中,那么字符串中的变量会被展开,支持所有转意字符。
- 单引号包围的字符串不会展开内部的变量,只支持反斜杠和单引号的转义。
- 单引号的效率比双引号的效率高。
2.require()和include()的区别:二者几乎是等价的,差异在于当这两个语句调用失效时require()将给出一个致命错误,而include()只给出一个警告。
3.在做“==”判断时,应该把变量写在右边,if(‘a’==$var),不要给自己出错的机会。
操作系统从win2003换成win7,php开发工具从zend studio5.5换成了zend studio 8,好多地方不适应,在此记录一下。
一.zend studio 8 的一些新工能:
<1>Javascript 编辑支持:如果使用Javascript作为php应用的前端,zend studio能帮助你提高编码速度减少错误,并且支持许多Javascript库,比如:JQuery、Dojo、ExtJs、Prototype的动态提示。
<2>集成php和Javascript调试。zend studio 8允许你在一个session中通过一组Ajax 工具同时调试PHP和Javascript,使调试过程平滑简单。调试的应用运行在支持HTML5的嵌入式浏览器中,新的调试监视器很方便查找问题。可以很方便查看CSS、Dom。
<3>源代码编辑和导航的改进。
二.调试功能。每次使用新的IDE我都是先看看Debuge功能怎么样,8跟5.5的调试完全不是一个概念。

<1>调试的时候,有一个Default Base Url,这里默认的Base Path是 “/”+ 项目名称,所以刚开始的时候如果您的项目名称跟实际的本地目录名称不一致,调试的时候肯定会失败。
<2>zend studio 8允许保存经常需要调试的配置信息,点击工具栏上
debug按钮右边的小箭头,选择Debug Configurations弹出如下窗口,双击PHP Script,会创建新的调试配置信息。

不知道抽哪根筋,想起了看看BugFree有没有更新,这一看不得了,发现了一个很不错的PHP框架–ZenTaoPHP。
ZenTaoPHP作者依然是BugFree的作者,只不过遗憾的是BugFree好像不继续开发了。作者新做了一个项目管理工具–ZenTaoPMS,当然是基于ZenTaoPHP框架开发的。今天下午花了些时间研究了一下,首先,非常容易上手,相比其他框架,我觉得这一点应该是ZendTaoPHP最大的特点。以下是ZendTaoPHP的定位:
- 简单:代码要足够简单。保证第三方的开发人员可以很容易的掌握框架的核心。
- 性能:性能要好。在保证功能的前提下,要尽可能的提升性能。
- 友好:友好只对开发人员而言,不能有太多的强制性的东西,尽可能柔性的来满足各种不同风格的开发习惯。
主要的功能:
ZenTaoPHP框架的主要功能如下:
一、单一入口模式
单一入口是现在比较流行的开发方式。好处在于可以有一个集中的控制。或者讲框架一个比较基本的东西也是单一入口吧。现在ZenTaoPHP框架支持web 方式和命令行方式的两种入口文件。具体的例子大家可以查看app目录下面的demo/www/index.php和cli/call这两个文件。
二、MVC
ZenTaoPHP支持MVC方式的开发。不过相比较于其他框架的多种模板实现来讲,ZenTaoPHP并没有尝试去开发一套新的模板系统,而是采用 PHP作为模板语言。这是最快的一种解决方案,而且也是最简洁的一种方案。
三、支持PATH_INFO和GET两种方式调用
支持/user/info/id/123.html 这种方式的调用,也支持index.php?m=user&f=info&id=123这种方式的调用。如果你能控制你的运行环境,可以 使用PATH_INFO的方式。
四、支持多语言功能
ZT支持多种语言功能,会自动根据当前用户客户端的信息来判断使用何种语言。
五、支持多种风格功能
六、自动代码生成器
在cli这个应用中,实现了基本的代码生成器功能,可以来初始化一个应用的目录结构,也可以基于一个表来创建一个模块。
七、支持多应用。
在app目录下面可以建立不同的应用,每一个应用都可以有自己的模块、配置、入口文件。
八、支持PDO
数据库封装使用PDO。其实PDO已经封装的很好了,所以ZT就没有再做一层封装,直接使用PDO原生的方法就好了。
九、配置和语言可以通过对象方式引用
配置文件和语言文件都是通过数组的方式来进行配置的,经过ZT框架加载之后,将其转换为对象。所以可以在模板中这样引 用:$config->xxx, $lang->aaa。目前支持到二维,比如$lang->user->id。
十、所见即API
在现在开放平台的潮流下面,有一个非常好的api机制是比较重要的。在ZT中,每一个接口都可以成为api。至于api的方式,是通过其访问的扩展名来加 以区分。比如如果你访问的是user/read/id/123.html,那么返回的是正常的网页。如果访问的是user/read/id /123.json,那么返回的就是json格式的数据。你的方法基本上都不需要改动,只需要增加一个json的模板文件就可以了。
十一、支持跨模块之间的调用
一个模块可以调用另外一个模块的model文件,然后组合各种各样的业务逻辑,完成自己的功能。
十二、灵活的参数传递
说实话现在的框架的参数传递方式都是比较丑陋的,要写很长的PATH_INFO。其他框架一般的解决方式是来配置路由规则。但我觉得也不是最好的解决方 案。
ZenTaoPHP框架提供了简洁的参数传递方式。比如user模块有一个read方法,需要id和name两个参数,通常的PATH_INO为 user/read/id/1/name/wwccss.html,而ZenTaoPHP支持user/read/1/wwccss.html的形式,这 样就省略了参数名的传递。