早先在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,现在已经出到2.9,支持visual studio2005~2010,到官网下载安装即可。默认是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

转载于:https://www.cnblogs.com/sung/p/3158569.html

使用VisualStudio开发php的图文设置方法相关推荐

  1. 无线扩展器怎么连接好友服务器失败怎么办,华为WS331C无线扩展器图文设置方法...

    摘 要 华为WS331C无线扩展器怎么设置?新购买回来的WS331C无线扩展器,或者是刚恢复出厂设置的WS331C扩展器,有2种方法来设置其扩展无线信号. 原标题:"华为WS331C无线扩展 ...

  2. 电脑wifi通过以太网口与linux开发板网络共享设置方法

    本文介绍pc 端wifi通过以太网口与linux开发板实现网络共享的方法,该方法主要是为了实现板卡可以访问外网上网. (当然也可以通过开发板控制器直接无线连接wifi 热点方式达到目的) 步骤如下: ...

  3. 魅族18双击亮屏图文设置方法(2021)

    有时候想看下时间,不想解锁手机,有没有双击亮屏的方法呢?今天换换来教大家关于魅族18手机.怎么开启双击亮屏功能.方便大家的日常使用.赶快一起来学习一下吧. 魅族18双击亮屏怎么做 1.首先打开手机中的 ...

  4. iPad和iPhone的app图标尺寸、用途、设置方法

    iPad和iPhone的app图标尺寸.用途.设置方法 下面是在iPhone专用程序.iPad专用程序和通用程序中使用图标文件的指导(由译言网翻译自苹果官方文档,原文http://article.ye ...

  5. 前端开发中通过js设置cookie的一组方法

    js方法的完整代码如下: var cookie = {set:function(key,val,time){//设置cookie方法var date=new Date(); //获取当前时间var e ...

  6. android 全屏动画,Android开发之全屏与非全屏的切换设置方法小结

    本文实例讲述了Android开发之全屏与非全屏的切换设置方法.分享给大家供大家参考,具体如下: 静态方法 1. 代码方式 在Activity类OnCreate方法中设置,代码如下 @Override ...

  7. android动态设置全屏,Android开发之全屏与非全屏的切换设置方法小结

    本文实例讲述了Android开发之全屏与非全屏的切换设置方法.分享给大家供大家参考,具体如下: 静态方法 1. 代码方式 在Activity类OnCreate方法中设置,代码如下 @Override ...

  8. iphone iPhone开发中为UINavigationBar设置背景图片方法

    1:原文摘自:http://mobile.51cto.com/iphone-284865.htm iPhone开发中为UINavigationBar设置背景图片方法是本文要介绍的内容,在iPhone开 ...

  9. 使用arduino开发esp8266和esp32时首选项设置方法(附国内开发板管理网址)

    摘要:本文介绍arduino在开发esp8266和esp32时的首选项设置方法.其中给出的国内开发板管理器网址速度飞起. 基于esp8266开发的板子有很多种,例如D1等. esp8266的开发板管理 ...

最新文章

  1. 一种关注于重要样本的目标检测方法!
  2. yield - python
  3. pandas遍历dataframe_chapter2-4 常用数据处理包Pandas整理4
  4. lol云顶之奕助手_云顶之奕小小英雄介绍 除了棋子以外它也很重要!
  5. Windows Phone 8.1中AppBarToggleButton的绑定问题
  6. 洛谷—— P1018 乘积最大
  7. sql注入的闭合方式
  8. python爬图mzitu_小白学 Python 爬虫(16):urllib 实战之爬取妹子图
  9. WinPcap vs Npcap
  10. 机器学习选择 Python 还是 R 语言?要不直接用 SQL 吧!
  11. Vue学习(一)从 mvx模式 到 mvvm模式
  12. flink 作业提交流程
  13. Github之First day on Github,带你学习并完成任务点,纯手敲超详细教程!(下)
  14. ct与x光的哪个辐射大_X光和CT,哪个辐射大?这些数字,医生可能并没告诉你
  15. iOS GPUImage研究六:为视频添加图片水印
  16. 在2018年使用xp是怎样的体验
  17. python编写程序,生成包含 20 个随机数的列表,然后将前 10 个元素升序排列,后 10 个元 素降序排列,并输出结果。
  18. 臧圩人:java面试题解惑系列(一)——类的初始化顺序学习笔记
  19. LUA源码分析二:了解lua的文件结构和思考方式
  20. IPSEC VXN配置实例

热门文章

  1. 4、Spring Cloud-负载均衡 Ribbon
  2. vs2017 js cordova + dotnet core 开发app
  3. Swift教程之基本操作符
  4. Docker学习笔记五 在测试中使用Docker
  5. Cisco Enhanced Object Tracking
  6. 这个是我的第一篇日志
  7. Web前端Javascript笔记(8)Ajax前后端交互
  8. python离线录音转文字_python3实现语音转文字(语音识别)和文字转语音(语音合成)...
  9. python socket send_全网最详细python中socket套接字send与sendall的区别
  10. python携程使用_简单了解python gevent 协程使用及作用