《Android和PHP开发最佳实践 》一3.4 常用PHP开发框架

3.4 常用PHP开发框架

随着互联网应用的发展,我们过去依靠原生PHP代码进行编程的路已经走不通了。因为,随着代码逻辑越来越复杂,如果没有一个好的框架来管理和组织代码,乱七八糟的巨量代码最终必将把整个项目毁掉,这也是我们在项目结束之后还要花那么大的资源和精力对代码进行不断优化和重构的原因。当然,如果我们在项目开始时就采用一个比较好的框架进行开发,不仅可以让以后的功能扩充变得更加简单,还可以为日后的代码维护减少工作量。目前市面上流行的PHP框架非常多,接下来我们会对其中比较有代表性的几个框架做一些介绍和对比。

  1. Zend Framework(http://framework.zend.com/
    Zend Framework简称ZF,是PHP的官方框架,优点是功能强大、结构松散、封装完善,很适合作为二次开发的基础框架,它包含了几乎所有你能想到的关于互联网方面的功能类库。当然,ZF的类库包也很大,框架类库就将近20MB,当然其中大部分我们是用不到的。虽然ZF看起来比较“笨重”,但是它所提供给开发者的自由度是其他框架所不能比较的,针对那些需求比较灵活或者结构比较复杂的大型项目而言,ZF确实不失为一个很好的选择。

笔者建议大家去深入学习ZF框架,最好是能把ZF的主要逻辑和类库的代码读一遍,因为从中你不仅可以学到很多PHP语言的编程技巧,还可以学到很多有用的“设计模式”以及“封装”的技巧,这些知识和经验都会对大家今后的编程之路大有裨益。
此外,本书实战篇中的项目实例将会使用一个基于ZF的框架Hush Framework来进行开发,因此学习ZF对大家来说也是非常必要的。当然,由于本书的篇幅限制,我们不可能在这里把ZF全部给大家讲一遍,但是我们在3.6节中在对Hush Framework进行讲解时会涉及ZF框架的一些内容,建议大家认真阅读和体会,相信其中的知识会对深入学习ZF框架有很大帮助。
小贴士:本书的“封装”指的是一种基于面向对象思想的组织代码的方法,后面会多次提到这个概念,大家在阅读时可以注意一下。

  1. CodeIgniter(http://codeigniter.com
    CodeIgniter(CI)也是一个比较老牌的PHP框架,和ZF相反,它非常小巧,核心类库仅有1MB左右,使用起来比较简单,代码框架遵循常见的MVC结构;但是CI的类库封装得还不够精细,某些框架层次感觉设计得过于繁琐;另外,我认为CI的文档做得不是很好,特别是中文的文档,当然这可能是多种原因造成的,但是不可否认的是,这个问题大大阻碍了CI框架在国内的普及。
  2. CakePHP(http://cakephp.org/
    CakePHP是一个典型的仿RoR类型的框架,它的脚手架(scaffold)功能还不错,也非常的小巧,类库相对来说设计得主流化一点,但是模板支持部分还做得不够好,另外系统设计的耦合度比较高,如果遇到一些大型项目会有点棘手,比如需要分库分表,以CakePHP目前的做法会比较麻烦。
  3. ThinkPHP(http://www.thinkphp.cn/
    ThinkPHP是必须要介绍的,是近几年出现的比较优秀的产品之一。整体来说,ThinkPHP很快,几乎是所有PHP框架中最快的;也很小巧,所有的类包加起来才几百KB;在设计方面相对比较松散,易于学习;另外,文档也相当完善,确实是近年来出现的一个不错的PHP框架,但是面对大型项目同样有一些不方便的地方。

当然,面对如此多的PHP框架,到底应该学习哪一个呢?我们可以这样考虑:如果你只想快速地开发出一个应用,那么可以选择Think、Cake或者CI等敏捷型的开发框架;但是,如果你想要更深入地学习PHP语言,甚至PHP中的各种设计模式,请选择ZF。当然,在后面的章节中,我们将会向大家介绍一个基于ZF和Smarty的PHP开发框架,也就是Hush Framework。

时间: 2024-09-29 12:43:25

《Android和PHP开发最佳实践 》一3.4 常用PHP开发框架的相关文章

《Android和PHP开发最佳实践 》一3.6 开发框架简介

3.6 开发框架简介 前面大家已经学习了PHP模板引擎Smarty的用法,也简单了解了PHP的官方框架Zend Framework,接下来本书将给大家介绍一个基于Zend Framework和Smarty之上的强大的PHP开发框架,即Hush Framework.本书后面微博实例的服务端程序也将采用该框架进行开发.在实际项目中,我们通常要先选择一个比较适合项目特点的框架,然后,在这个框架的基础上进行开发,这个过程我们通常称为"框架选型".其实,在之前的3.4节中我们已经介绍和分析了四种

《Android和PHP开发最佳实践》一2.7 Android应用界面

2.7 Android应用界面 Android应用界面系统,即Android UI(User Interface)系统是Android应用框架最核心的内容之一,也是开发者们需要重点掌握的内容.如果我们把Android应用也分为前后端两部分的话,那么之前介绍的核心要点和四大组件等都属于后端,而Android UI系统则属于前端.后端保证应用的稳定运行,而前端则决定应用的外观和体验.对于一个优秀的Android应用来说,漂亮的外观和流畅的体验是必不可少的.接下来,我们便来学习Android外观系统的

《Android和PHP开发最佳实践》一2.10 Android开发环境

2.10 Android开发环境 前面我们已经学习了Android系统中最重要的基础概念的内容,那么接下来就要开始正式进入Android应用的实战开发阶段."工欲善其事,必先利其器",因此,我们先来熟悉Android应用的开发环境吧. Android应用的开发环境是基于Eclipse平台的,Eclipse的强大无需多说,它当然也适应于Windows XP.Mac OS.Linux等多种操作系统.另外,我们还需要安装一些必备的开发工具包,所需要的软件见表2-8. 2.10.1 开发环境的

《Android和PHP开发最佳实践》一1.3 如何学习Android和PHP

1.3 如何学习Android和PHP 前面我们已经讨论过"为何学"的问题,大家应该对Android加PHP这套应用开发解决方案有了大致的了解.接下来介绍"如何学"的问题,由于本书的内容比较广泛,既涉及客户端开发的技术也包含很多服务端开发的内容,所以在正式开始学习本书之前,先搞清楚应该使用什么样的学习方法比较有效是非常有必要的.接下来,笔者会把这个问题分解为以下几个部分来探讨. 1.3.1 如何学习Android 由于Android学习是本书最核心的内容,因此我们先

《Android和PHP开发最佳实践》一2.3 Android应用框架

2.3 Android应用框架 前面介绍了Android的系统框架,主要目的是让大家对Android系统有整体的概念,也为日后更深入的学习打好基础.然而,目前我们更需要重点学习和掌握的则是Android的应用框架,因为是否能掌握和理解Android应用框架,直接关系到是否能学好Android应用开发. Android的应用框架是一个庞大的体系,想要理解透彻并不是那么简单的事情,但是,好在其中有一些比较清晰的脉络可以帮助我们快速地熟悉这个系统,因此抓住这些脉络中的核心要点对于能否学好Android

《Android和PHP开发最佳实践 》一导读

前 言 2012年,移动互联网革命正在如火如荼地进行,一个充满机遇的巨大市场正在开启,无论是创业者还是从业者都需要做好准备.Android和PHP两种技术,作为目前移动领域和互联网领域中的热门技术,已经受到广大开发者们的关注. 本书是目前市面上唯一一本同时讲述Android客户端开发和PHP服务端开发两方面内容,并且把Android移动互联网应用开发的完整解决方案分析透彻的书籍.通过本书,您不仅可以学习到Android客户端开发技巧,而且可以掌握PHP服务端开发的精华,甚至还可以开拓软件架构的思

《Android和PHP开发最佳实践》一1.1 移动互联网时代的来临

1.1 移动互联网时代的来临 2011年,Android操作系统就已经占领了全球智能手机市场份额的半壁江山,霸主的地位彰显无遗(如图1-1所示).在国内,随着各大手机厂商的更新换代,Android操作系统的占有率也在火速上升中:中国移动公司已经早早推出了自己基于Android的OMS系统和OPhone,甚至连各大互联网巨头也在纷纷推出自己基于Android的手机产品.据统计,2012年内全球智能手机市场增长率达到49%,中国移动互联网用户量已经突破4亿,手机用户量也已经超越了PC. 看到这里,相

《Android和PHP开发最佳实践》一第1章 学 前 必 读

第1章 学 前 必 读 在学习任何知识之前,做好准备工作是非常有必要的.在本章,我们先来了解一下目前正如火如荼的移动互联网时代的大背景,然后我们会讲清楚我们为何要学习Android和PHP这套组合方案,以及学习Android和PHP开发的大体思路和学习方法.相信大家读完本章以后,不仅会对Android和PHP这个强大的组合更感兴趣,而且之后的学习之路会更加顺畅.

《Android和PHP开发最佳实践》一2.4 Android系统四大组件

2.4 Android系统四大组件 之前我们已经学习了Android应用框架的四大核心要点,对Android的应用框架有了一个总体性的了解,接下来我们要学习Android应用程序中的四个重要组成部分,也就是我们一般所说的"应用组件".在前面讲解四大核心要点的篇幅中,我们曾经提到了控件(View控件)的概念,现在我们再来学习一下Android应用框架中的组件的概念.那么何谓组件呢?顾名思义,组件当然要比控件复杂,简而言之,组件是用于工业化组装的部件.要达到组件的标准,必须符合三个要求,以