为什么选这样的开发环境

常见的PHP集成开发环境有Eclipse+PDT,NetBeans,PHPEclipse,Zend Studio,PhpStorm等,我经过多方面的考虑(费用、易用性、功能、活跃度和运行速度等),最后选择了NetBeans。

另外提一下PhpStorm,这个JetBrains出品的IDE拥有相当好的口碑(至少我查下来是这样),甚至一些大牛们将JetBrains称作“IDE行业的良心”,只是此工具是要掏点钱的,虽然也不是很贵(个人开发者License是99美元),想想如果这个工具能大幅度提高你的工作效率的话,这$99真的不算啥,还比Zend Studio便宜(Zend Studio价格299美元,现在貌似搞促销优惠至149美元)。

经过大量搜索,我发觉用户群体较多的免费IDE就集中在Eclipse和NetBeans两者中了,选择NetBeans的主要原因是它运行得比Eclipse快,而且快不止一点,我感觉。(也有少数人说NetBeans比Eclipse慢)而别的嘛,基本上半斤八两,例如跨平台等,由于都是用Java开发的工具,都不成问题。

至于CodeIgniter,选择的理由却很大程度上是项目的需求:时间紧,没太多余力去折腾大的框架,只好选择了这么一个轻量级的,另外也有些技术原因,我认为PHP本身就是需要快速响应和快速处理,一旦引入了重量级的框架,处理管线一长,响应速度势必会变慢,这样的话还不如使用Java EE平台。轻量级的PHP框架中,又以CodeIgniter文档最全,活跃度最高,所以就选择了这个框架。

前提

我假设你已经架设好AMP(Apache + MySQL + PHP)环境了,如何架设这个环境?其实也很简单,如果你是Windows用户,那么去下载一个wamp server即可,地址:http://www.wampserver.com/,安装很简单,这里就略过了,实在搞不定的话google一下,文章很多。我以前也有过一篇相关的文章,但版本稍微有点旧:http://www.cppblog.com/guogangj/archive/2011/03/14/141786.html

下载和安装NetBeans

NetBeans是用Java写的,需要JDK,如果你机器上没有安装JDK的话,先去下载一个安装:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

上面的链接无效的话直接google一下“JDK”,第一个搜索结果点进去就是。

然后下载NetBeans(貌似我前面提供的这个链接就直接有JDK+NetBeans,这个我倒是没试过),NetBeans的官方网站:Netbeans.org

下载的时候选择“PHP”这个打包(Bundle),当然你也可以选择“All”这个打包,只不过大一点。PHP这个打包一共52M,安装在机器上之后大约200M,对于Visual Studio来说,这点尺寸真微不足道,更可贵的是它不会往你系统里无缘无故地安装一大堆没用而且会让你系统越来越慢的服务。

NetBeans现在的最新版是7.3.1,我下载的就是这个版本,安装其实没什么好说的了,跟安装别的Windows程序没什么两样,安装过程中要你指明JDK的路径。

下载和配置CodeIgniter

CodeIgniter有一个中文网站:http://codeigniter.org.cn/

你很快就找到,并且下载好了“CodeIgniter_2.1.3.zip”。现在我们把它安装到NetBeans中去。

这里废话问一句:不安装行么?——当然行,PHP是解释型语言,所有框架的代码都是没编译过的,你能明明白白看到,配置好放过去就能用。这里要在NetBeans中整合CodeIgniter的目的是为了开发的时候有和CodeIgniter配套的智能提示,提高我们的开发效率。

这里还需要去下载两个插件,到:https://kenai.com/projects去,搜索“nbphpci”,点进去,点左边的“downloads”,根据你的NetBeans版本,选择不同的下载项目,我选的明显是“7.3.1”,进去后下载这两个文件,一个是“org-netbeans-modules-php-ci.nbm”,另一个是“org-netbeans-modules-php-ci-repository.nbm”。nbm其实是个zip压缩包,你可以解压缩看看里面究竟有些啥的。

运行NetBeans,“工具” - “插件”,到“已下载”中,点“添加插件”,把上面这两个nbm文件放进去:

点“安装“,完成后关闭。

“工具” - “选项” - “PHP”,你会发现多了一个“CodeIgniter”的标签(如果没看到,请重启NetBeans试试看),如图,把前面下载到的“CodeIgniter_2.1.3.zip”灌进去,确定确定,完成配置。

现在新建一个PHP项目,你发现可以选择CodeIgniter PHP Web Framework了。

如果你在新建项目的时候没指定这个选项,那你可以打开已创建项目的项目属性,在“框架”中选中,如图:

这样一来,你发觉智能提示出来了:

配置调试器

想想看:PHP运行在Apache服务器上,凭什么你能在NetBeans中设断点把它暂停住?必须有调试器啊,原理大致如此:如果你让PHP解释器把实时运行情况“报告”给IDE并允许IDE控制PHP解释器的运行,那就可以实现调试,这种方法甚至可以远程调试。因此,你必须得对php进行一些配置。打开php.ini:

[xdebug]
;指定调试器,Linux环境下的话就是so库而不是dll库了
zend_extension = "c:/wamp/bin/php/php5.4.3/zend_ext/php_xdebug-2.2.0-5.4-vc9.dll"
;启动调试
xdebug.remote_enable=true
;IDE的IP地址
xdebug.remote_host="127.0.0.1"
;连接至IDE的端口,这个要跟NetBeans中的设置一致
xdebug.remote_port=9000
;指定用于调试的应用层通信协议
xdebug.remote_handler="dbgp"

我知道还有其它很多配置选项,但我暂时用不着,留默认就是。

配置好后重启Apache,然后对NetBean进行如图的设置:

配置完成!现在在代码中设个断点(<Ctrl>+<F8>),开启调试(<Ctrl>+<F5>),断点生效了:

Netbeans+CodeIgniter搭建PHP开发环境的更多相关文章

  1. 在Eclipse下搭建Android开发环境教程

    我们昨天向各位介绍了<在NetBeans上搭建Android SDK环境>,前不久也介绍过<在MyEclipse 8.6上搭建Android开发环境>, 都受到了读者的欢迎.但 ...

  2. 【转】在NetBeans上搭建Android SDK环境

    本文将介绍在NetBeans 6.8上搭建Android SDK环境,目前Android在Netbeans上进行开发需要借助nbandroid的平台插件. 我们刚刚介绍过<MyEclipse上搭 ...

  3. 【转】在Eclipse下搭建Android开发环境教程

    本文将全程演示Android开发环境的搭建过程,无需配置环境变量.所有软件都是写该文章时最新版本,希望大家喜欢.   一 相关下载 三 Eclipse配置 (1)Java JDK下载 1 安装andr ...

  4. 自定义搭建PHP开发环境

    学习了一段时间php了,因为之前是刚接触php,所以用的是集成安装包(wamp).现在想进一步了解apache.mysql.php之间的关系以及提升自己所以进行自定义搭建PHP开发环境.废话不多说,请 ...

  5. 使用virtualenv搭建python3开发环境

    问题描述 环境: CentOS6.5 想在此环境下使用python3进行开发,但CentOS6.5默认的python环境是2.6.6版本. 之前的做法是直接从源码安装python3,替换掉现有的开发环 ...

  6. Windows下搭建PHP开发环境

    PHP集成开发环境有很多,如XAMPP.AppServ......只要一键安装就把PHP环境给搭建好了.但这种安装方式不够灵活,软件的自由组合不方便,同时也不利于学习.所以我还是喜欢手工搭建PHP开发 ...

  7. 搭建Android开发环境附图详解+模拟器安装(JDK+Eclipse+SDK+ADT)

    ——搭建android开发环境的方式有多种,比如:JDK+Eclipse+SDK+ADT或者JDK+Eclipse+捆绑好的AndroidSDK或者Android Studio. Google 决定将 ...

  8. mac os 下搭建android开发环境

    mac os 下搭建android开发环境 周银辉 mac os 下搭建android环境比较方便, 如下几个步骤: 1,安装jdk 先搞清楚自己是否已经安装,在命令行下:java -version, ...

  9. mac 下 用 glfw3 搭建opengl开发环境

    mac 下 用 glfw3 搭建opengl开发环境 下载编译 glfw3 Build Setting 里面, Library Search Paths -> 设置好编译 glfw 库的路径 H ...

随机推荐

  1. MD5编码

    public class MD5 { public static String getMD5(String content) { try { MessageDigest digest = Messag ...

  2. WebView cookie 管理

    在Android应用程序中经常会加载一个WebView页,如果需要客户端向WebView传递信息,比如Cookie,也是可以的. 需要应用程序先将Cookie注入进去,打开该网页时,WebView会将 ...

  3. 如何使用yum下载rpm包

    一.使用 yum-downloadonly 插件 参考文章:ghosTzone 的博客http://ghostm55.is-programmer.com/posts/6422.html yum是一个优 ...

  4. 启动tomcat时遇到的问题

    1.当启动Tomcat时,出现了如下信息: The APR based Apache Tomcat Native library which allows optimal performance in ...

  5. Ubuntu 16.04 下使用Xampp

    Ubuntu 16.04 下使用Xampp 什么是Xampp? XAMPP(Apache+MySQL+PHP+PERL) 是一个功能强大的建站集成软件包.这个软件包原来的名字是 LAMPP,但是为了避 ...

  6. ArcGIS10.1 api for Flex开发用于ArcGIS 9.3时QueryTask 'Error #2032'错误的解决方案

    因客户GIS软件需求,将应用降级到低版本ArcGIS9.3,不仅数据有些样式.配色.字符有些问题,API也要相应“降级”,解决如下: 利用9.3+flex做QueryTask时候出现了[RPC Fau ...

  7. <转>简单之美——系统设计黄金法则

    作者: 包云岗  发布时间: 2012-05-19 13:06  阅读: 3036 次  推荐: 1   原文链接   [收藏] 最近多次看到系统设计与实现的文章与讨论,再加上以前读过的其他资料以及自 ...

  8. Android ListView onItemClick Not Work

    Android ListView onItemClick Not Work ListView item中有Button和RadioButton的时候,它的Item点击事件不起作用,需要设置item的属 ...

  9. iscroll5 上拉,下拉 加载数据

    我这里的思路是上拉时候只是加载第一页的内容,可根据实际情况修改其中的代码.请勿照搬.样式没怎么调,可以加载gif动画.1.没有数据时候,下拉可以加载数据.2.没有数据时候,点击也可以加载数据.3.其余 ...

  10. Android Activity生命周期

    从android api文档摘抄出来的activity生命周期图如下: Activity有如下四种状态 a.活动状态  activity处于屏幕前台,获取到了焦点可以和用户进行交互,同一时刻只有一个a ...