早先在asp横行的年代,php和asp一样,大都都是html中夹杂代码,说实话,这时候IDE的确用处不是很大,倒是类似于dw之类的设计器甚为上手。
 
现在,三层、mvc之类的思想遍地开花,使得代码和html得以分离,加之随着开发的分工和项目的增大,一个好的IDE能为编码工作提供了许多的便利。就像开发java用eclipse,.NET用visual studio一样,开发PHP也很需要一种这样的利器。常见的php的IDE有Eclipse,NetBeans,Zend studio,vs.php等。这几个我也都用过,其中Eclipse,NetBeans,Zend studio都有win和linux的版本,也都集成了像代码感知、调试、设计、片段等的功能,都用过一阵子后发现,在windows下,个人感觉还是vsiual studio+vs.php最是好使。主要的原因就是速度。 vs的速度真的是快其他的IDE太多了,无论是从启动速度还是使用过程中资源的耗用都要好于其他3款,毕竟是微软自家的东西。

vs.php以插件形式安装到vs,现在已经出到3.3,支持visual studio2005~2012,到官网下载安装即可。默认是30天试用,可以搭配visualstudio express。安装以后,在visual studio的新建项目里就会多出来php的项目。

当然也支持一个解决方案,多个项目。

vs.php在启动的时候,会自动扫描包含在项目里的php文件,并加载到代码自动感知里。同时,未避免加载太多的感知支持,默认并没有加载不常用的php扩展的感知支持,如果有需要的话,可以右键项目,选择Add Php Module, 在列表里选择要添加的扩展,如图。 如果要对项目外的文件添加感知,也可以通过右键项目,选择Add Php Refence,选择文件添加支持。

需要调试的话,可以编辑项目属性,这里的话,有个不太好的地方就是Start page一定要设置,不然无法启动调试,而且按F5运行调试时,就是打开这个起始页,没办法像ASP.NET那样,运行当前打开的页面。

你可以根据需要选择调试的模式等配置,当然,如果你觉得有的东西老改麻烦的话,也可以通过修改vs.php的配置来一劳永逸。vs.php内带了一个apache2.2在安装目录下,所以,选择调试的时候,你可以决定用内置的apache还是服务器的apache,同时,安装目录下有PHP4,PHP5的目录,里面的东西也可以修改使用,诸如php.ini。如果使用xdebug来调试的话,推荐修改下php5下的php-xdebug.ini,添加修改下

[XDebug] 
xdebug.idekey = vsphp 
xdebug.auto_trace=On 
xdebug.collect_params=On    
xdebug.collect_return=On    
xdebug.trace_output_dir="d:/x-debuginfo" 
xdebug.profiler_enable=On    ;打开效能监测器 
xdebug.profiler_output_dir="d:/x-debuginfo"    
xdebug.default_enable = On 
xdebug.show_mem_delta=On

这样,调试时就会输出调试信息到d:/x-debuginfo,再使用WinCacheGrind来查看这个执行的CPU,内存使用情况,函数执行时间,尤其方便进行性能优化。如

Language Reference目录下存放的是php的函数注解,智能感知就依赖这些文件,修改里面的注释信息,就可以改变感知时的提示,现在是全英文的,不知道会不会出一个中文的注释,期待。

在代码智能感知方面,vs.php只能打到80分这样,有的时候出不来是比较郁闷的。当然,这可能与你将类或函数分布在其他的文件里有关系,vs.php会自动解析require,include等的包含语句,并尝试加载解析这个文件,在使用实例化对象时,在当前的信息不足时,会尝试按照项目配置属性里的设置加载该文件

就如同php里面的__autoload。

另外,规范合理的注释将为代码感知的提示提供极大的便利,尤其是对于自定义的类对象,尤为有效。就比如说,

这里的$this->response,他并不知道是什么类型,所以任何提示都不会有,但是如果加上了类型声明 @var 类型, 那就可以正常显示该对象的成员信息、提示等

在断点调试方面,虽然有时候无法捕获断点,但是也算是实现了。

其实很多时候,因为这个功能的不够可靠,这种情况我还是倾向于自己输出变量查看。

总的说来,个人比较喜欢vs.php,相比zendstudio,NetBeans等的运行速度和资源占用,这无疑是更好的选择。而且,我个人喜欢使用ASP.NET的页面搭配smarty的语法作为php的模板,比起纯粹的html模板,.NET的页面在visualstudio里面有着无可比拟的优点,例如Masterpage和usercontroller,都能正常显示,这个对于控件复用和设计而言,相当的方便。具体的模板类,有空的时候整理下再放出。

如果你还在用记事本啦,Dreamweaver之类的,不妨试试vs。

 

使用VisualStudio开发php的图文设置方法[xyytit]的更多相关文章

  1. 使用VisualStudio开发php的图文设置方法

    早先在asp横行的年代,php和asp一样,大都都是html中夹杂代码,说实话,这时候IDE的确用处不是很大,倒是类似于dw之类的设计器甚为上手. 现在,三层.mvc之类的思想遍地开花,使得代码和ht ...

  2. 开发板-PC机(宿主机)-虚拟机(VM)之间网络通信设置方法及须要注意的问题

    1.不使用路由器交换机 硬件连接: 使用网线将开发板和PC机相连 串口线将PC机和开发板相连 使用命令: ifconfig -a 串口控制端查看开发板的网络配置 route -n 串口控制端查看开发板 ...

  3. Java 使用Redis缓存工具的图文详细方法

    开始在 Java 中使用 Redis 前, 我们需要确保已经安装了 redis 服务及 Java redis 驱动,且你的机器上能正常使用 Java. (1)Java的安装配置可以参考我们的 Java ...

  4. iOS开发 GET、POST请求方法(NSURLSession篇)

    NSURLConnection,在iOS9被宣布弃用,本文不使用NSURLConnection进行网络编程,有兴趣的童鞋可以参考: [iOS开发 GET.POST请求方法(NSURLConnectio ...

  5. iOS开发 GET、POST请求方法(NSURLConnection篇)

    Web Service使用的主要协议是HTTP协议,即超文本传输协议. HTTP/1.1协议共定义了8种请求方法(OPTIONS.HEAD.GET.POST.PUT.DELETE.TRACE.CONN ...

  6. 在android开发中使用multdex的方法-IT蓝豹为你整理

    Android系统在安装应用时,往往需要优化Dex,而由于处理工具DexOpt对id数目的限制,导致其处理的数目不能超过65536个,因此在Android开发中,需要使用到MultiDex来解决这个问 ...

  7. 利用MVVM设计快速开发个人中心、设置等模块

    我们在做iOS开发过程中,静态页面的开发比开发动态页面更让我们开发者抓狂.因为动态页面通常是一个页面一种cell样式,作为开发者只需要专注于定制好一种样式之后,就可以使用数据填充出较好的界面.而静态c ...

  8. 使用Android Studio搭建Android集成开发环境(图文教程)

    ​[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...

  9. 提高PHP开发质量的36个方法(精品)

    提高PHP开发质量的36个方法 林涛 发表于:2016-3-25 0:00 分类:26点 标签: 62次 1.不要使用相对路径 常常会看到: require_once('../../lib/some_ ...

随机推荐

  1. jstack 查看线程状态

    使用jstack pid命令可以查看JVM的线程状态,其中值得关注的线程状态有:死锁,Deadlock(重点关注)执行中,Runnable等待资源,Waiting on condition(重点关注) ...

  2. 设置redis 密码

    redis配置密码 1.通过配置文件进行配置 yum方式安装的redis配置文件通常在/etc/redis.conf中,打开配置文件找到 [plain] view plain copy require ...

  3. 关于DELL服务器如果采购散件,进行服务器升级的相关说明

    拿DELL服务器内存来说明这个情况,其他硬盘等等是 一样的: 1.DELL服务器的内存散件,从购买之日起,质保期是一年: 2.但是如果你把内存插到能兼容这个内存的服务器上去使用,请注意我的字眼,是能兼 ...

  4. 显示器如何显示一个YUV422格式的图形

    记录在开发过程中对知识点的一些理解: 在开发渲染程序的过程中,需要对视屏文件进行解码解码后特效文件的叠加,使用的技术是(FFmpeg+DirectX) 解码出来的视屏数据格式是YUYV,使用Direc ...

  5. pure框架

    内容: 1.介绍与入门 2.基础使用 参考资料: pure中文文档:https://www.purecss.cn/ pure实例:https://www.purecss.cn/layouts.html ...

  6. DDoS攻防战 (二) :CC攻击工具实现与防御理论

    故上兵伐谋 其次伐交 其次伐兵 其下攻城 攻城之法 为不得已 知己知彼 百战不殆 不知彼而知己 一胜一负 不知彼不知己 每战必败 ——孙子兵法·谋攻 我们将要实现一个进行应用层DDoS攻击的工具,综合 ...

  7. PHP闭包

    # 提到闭包就不得不想起匿名函数,也叫闭包函数(closures),貌似PHP闭包实现主要就是靠它.声明一个匿名函数是这样: $func = function() {       }; //带结束符 ...

  8. File 操作

    文件乱码 服务器地址 try-with-resource 属性文件获取 文件排序 文件过滤 文件下载 流文件传递 文件乱码: WINDOWS系统桌面默认使用GBK,Linux系统默认使用UTF-8. ...

  9. ABAP-BarCode-1-HTML二维码打印及动态屏幕实现

    很久很久...以前写的一个测试程序,主要是通过ABAP与HTML交互,编写JavaScript实现二维码及动态屏幕实现. 1.ABAP界面效果 2.实现代码 *&--------------- ...

  10. Shell常用命令find、grep总结

    一.find 命令 find 命令的常用形式可以简化为 find [path...][expression] path:find 命令查找的目录路径,其中 ./ 表示当前目录,/ 表示系统根目录 ex ...