作者:empty 页数:142 出版社:empty |
第2部分入门基础2.1 Think PHP是什么简单的说, Think PHP是一个开源的快速、兼容而且简单的面向对象的轻量级PHP开发框架, 遵循Apache 2开源协议发布, 是为了简化企业级应用开发和敏捷WEB应用开发而诞生的。借鉴了国外很多优秀的框架和模式, 使用面向对象的开发结构和MVC模式, 融合了Struts的Action思想和JSP的To gLib(标签库) 、R oR的OR M映射和A cve Record模式, 封装了CURD和一些常用操作, 单一入模式等,在模版引擎、缓存机制、认证机制和扩展性方面均有独特的表现。使用Think PHP, 你可以更方便和快捷的开发和部署应用, 当然不仅仅是企业级应用, 任何PHP应用开发都可以从Think PHP的简单、兼容和快速的特性中受益。简洁、快速和实用是Think PHP发展秉承的宗旨, 为此Think PHP会不断吸收和融入更好的技术以保证其新鲜和活力, 提供WEB应用开发的最佳实践!
2.2功能分布Think PHP不是你所想象的只是一个提供组类库的框架, Think PHP是个具有你开发所需的全功能的开发平台,是一个有机组合体,是一个让你可以立刻开始编写应用逻辑的开发框架,并且具有很好的扩展性。下面的图示可以看出Think PHP的功能分布.
2.5系统特色Think PHP框架最早是从Struts结构移植过来井做了改进, 并且在后续的不断完善中增加了很多特性,同时也借鉴了国外很多优秀的框架和模式, 使用面向对象的开发结构和MVC模式, 包含了多项目的支持以及对企业级开发和部署的支持, 融合了Struts的思想和JSP的TagLib(标签库) 、R oR的OR M映射和ActiveRecord模式, 封装了CURD和一些常用操作和单一入模式等, 并且在可维护性、安全性、可移值性以及可扩展性方面都有很好的表现。作为一个整体开发解决方案, Think PHP能够解决应用开发中的大多数需要, 因为其自身包含了底层架构、兼容处理、基类库、数据库访问层、模板引擎、缓存机制、插件机制、角色认证、表单处理等常用的组件,并且对于跨版木、跨平台和跨数据库移植都比较方便.并且每个组件都是精心设计和完善的,应用开发过程仅仅需要关注您的业务逻辑。下面是对这些特色的简单介绍,在后面会有更加详细的使用方法。2.5.1架构模式面向对象是Think PHP框架的实现基调, 除了个别必须的公共方法之外(比较频繁使用的方法, 为了调用简单考虑),框架的全部文件都采用类的形式实现,为以后的维护和扩展带来了方便。整个应用系统采用单一入方式访问, 其它组件和类库被有效的封装到一个安全的地方, 甚至无法通过WEB浏览器访问到, 只有入程序和模板文件在WEB日录下面。因为采用了面向对象的开发方式, Think PHP系统的可维护性、可扩展性和可移植性方面表现都非常出色。和很多应用框架一样, Think PHP也采用了MVC模式, 应用控制器(核心控制器) 和Action控制器都承担了控制器的角色, 开发人员主要涉及到Action控制器的开发, 而且相当简单, 只是添加不同Action的业务逻辑控制, 调用由应用控制器来负责, 模型的定义由Model类来完成。系统的视图(模板)的实现是和框架无关的,做到了100%分离,可以独立预览和制作。内置的模板引策给模板的制作带来了更方便有效的方法。在原来的Dao模式的基础上, 新版正式引入了ActiveRecord模式, 并且对其做了增强, 除了可以作为数据对象之外, 还可以作为数据集对象, 提供了最佳的开发体验, Think PHP实现了Active Records模式的OR M模型, 采用了非标准的OR M模型:表映射到类, 记录《集) 映射到对象,字段属性映射到对象的虚拟属性,拥有领域对象的领域属性、领域方法和持久性方法。最大的特点就是使用方便,从而达到敏捷开发的目的。共142页第7页@Copyright 2007店极所有http://tinkphp.cn2.5.2兼容性Think PHP可以支持Win/Unix服务器环境, 支持PHP 4.3.0以上版本, 完全兼容PHP 5.兼容性处理方面, 除了兼容函数的实现、对架构函数和析构函数的支持外, 并月还模拟了一些PHP 5具备的优秀特性, 例如SPL的部分实现。Think PHP框架的实现是和环境和数据库无关的, 系统在实现的过程中充分考虑了PHP 4的环境(要求的PHP版本是4.3.0以上) , 并且在不牺牲性能的前提下模拟的部分PHP 5的实现方法, 最大程度地保证了系统在运行过程中在PHP 4下表现出的出色性能和在PHP 5下优势的充分发挥。最新的1.*版木采用PHP 5进行了重构, 完全发挥了PHP 5的特性。0.*版木继续兼容PHP 4, 以满足某些环境的需要.
2.5.3基类库框架内置有基类库支持, 就连Think PHP框架本身的核心类都属丁基类库的部分, 基类库和框架是合为一体的。基类库包括核心类库包Think和扩展类库包ORG, 以及商业Com包, 其中ORG包提供了很多的实用类库。Think PHP的所有类库引用采用命名空间的方式, 以保证类库的唯一性。在应用开发的时候不需要使用传统的include或者require指令, Think PHP的类库导入方式和Java的Import机制类似, 只要遵循命名规范, 类库的导入和使用就显得方便有效, 熟悉.Net的开发人员还可以使用using的别名, 内建的导入缓存支持避免重复的文件导入。1.0.0版本还增加了匹配导入和导入冲突的判断功能.2.5.4数据访问为了提供更好的效率和移植性, 框架内置了抽象数据库访问层, 支持Mysql、MsSQL、Sqlite、PgSQL等多种数据库, 并且引入了PDO的支持, 还可以通过插件的方式增加需要的数据库驱动。在应用开发中,我们无需访问具体的数据库驱动,而只需要通过数据库公共类库Db来访问底层数据库操作, 在大多数情况下, 数据库操作是封装在数据对象的领域方法之中, 在使用Think PHP开发的过程中,只需要告诉系统数据库的连接信息就可以了。