TP开发手册完整版:
系统特性
ThinkP HP是一个性能卓越并且功能丰富的轻量级PHP开发框架,本身具有很多的原创特性,并且倡导大道至简,开发由我的开发理念,用最少的代码完成更多的功能,宗旨就是让WEB应用开发更简单、更快速。从1.*版本开始就放弃了对PHP4的兼容,因此整个框架的架构和实现能够得以更加灵活和简单。2.0版本更是在之前的基础上,经过全新的重构和无数次的完善以及改进,达到了一个新的阶段,足以达到企业级和门户级的开发标准。
ThinkP HP值得推荐的特性包括:
✧类库导入:ThinkP HP是首先采用基于类库包和命名空间的方式导入类库,让
类库导入看起来更加简单清晰,而且还支持冲突检测和别名导入。为了方
便项目的跨平台移植,系统还可以严格检查加载文件的大小写。
✧URL模式:系统支持普通模式、PATHIN FO模式、REWRIT E模式和兼容模式的
URL方式,支持不同的服务器和运行模式的部署,配合URL路由功能,让
你随心所欲的构建需要的URL地址和进行SEO优化工作。
✧编译机制:独创的核心编译和项目的动态编译机制,有效减少OOP开发中文
件加载的性能开销。ALLINO NE模式更是让你体验飞一般的感觉。
✧ORM:简洁轻巧的ORM实现,配合简单的CURD以及AR模式,让开发效率
无处不在。
✧查询语言:内建丰富的查询机制,包括组合查询、复合查询、区间查询、统计
查询、定位查询、动态查询和原生查询,让你的数据查询简洁高效。
✧动态模型:无需创建任何对应的模型类,轻松完成CURD操作,支持多种模
型之间的动态切换,让你领略数据操作的无比畅快和最佳体验。
✧高级模型:可以轻松支持序列化字段、文本字段、只读字段、延迟写入、乐观
锁、数据分表等高级特性。
php初学者项目
✧视图模型:轻松动态地创建数据库视图,多表查询不再烦恼。
✧关联模型:让你以出乎意料的简单、灵活的方式完成多表的关联操作。
✧分组模块:不用担心大项目的分工协调和部署问题,分组模块帮你解决跨项
目的难题。
✧模板引擎:系统内建了一款卓越的基于XML的编译型模板引擎,支持两种类
型的模板标签,融合了Smarty和J SP标签库的思想,支持标签库扩展。通过驱动还可以支持Smarty、EaseTe mplat e、Templa teLit e、Smart等第三方模板引擎。
✧AJAX支持:内置AJAX数据返回方法,支持JSON、XML和EV AL格式返回客户
端,并且系统不绑定任何AJAX类库,可随意使用自己熟悉的AJAX类库进行操作。
✧多语言支持:系统支持语言包功能,项目和模块都可以有单独的语言包,
并且可以自动检测浏览器语言自动载入对应的语言包。
✧模式扩展:除了标准模式外,系统内置了Lite、Thin和C li模式,针对不同级别
的应用开发提供最佳核心框架,还可以自定义模式扩展。
✧自动验证和完成:自动完成表单数据的验证和过滤,生成安全的数据对象。
✧字段类型检测:字段类型强制转换,确保数据写入和查询更安全。
✧数据库特性:系统支持多数据库连接和动态切换机制,支持分布式数据
库。犹如企业开发的一把利刃,跨数据库应用和分布式支持从此无忧。
✧缓存机制:系统支持包括文件方式、APC、Db、Memcac he、Shmop、Eaccel erato r
和Xca che在内的多种动态数据缓存类型,以及可定制的静态缓存规则,并
提供了快捷方法进行存取操作。
扩展机制:系统支持包括类库扩展、驱动扩展、应用扩展、模型扩展、控制器扩展、标签库扩展、模板引擎扩展、Widget扩展、行为扩展和模式扩展在内的强大灵活的扩展机制,让你不再受限于核心的不足和无所适从,随心DIY自己的框架和扩展应用。
目录结构
新版的目录结构在原来的基础上进行了调整,更加清晰。
一、系统目录(ThinkP HP框架目录)
ThinkP HP.php 框架的公共入口文件
Common包含框架的一些公共文件、系统定义、系统函数和惯例配置等
Lang系统语言文件
Lib系统基类库目录
Tpl系统模板目录
Mode框架模式扩展目录
Vendor第三方类库目录
二、应用目录(项目目录)
index.php 项目入口文件(可以使用其他名称或者放置于其他位置)
Common项目公共文件目录,一般放置项目的公共函数
Conf项目配置目录,所有的配置文件都放在这里。
Lang 项目语言包目录(可选)
Lib项目类库目录,通常包括Action和Model子目录
Tpl项目模板目录,支持模板主题
Runtim e项目运行时目录,包括Cache(模板缓存)、Temp(数据缓存)、Data (数据目录)和Logs(日志文件)子目录
上面的只是默认方式,项目下面的目录名称和结构是可以重新定义的。其实项目目录并不需要开发人员手动创建,只需要定义好项目的入口文件之后,系统会在第一次执行的时候自动生成项目必须的所有目录结构(前提是项目目录具有可写权限,这点在Linux环境下面需要注意)。
可以看出新版的目录结构更加便于部署和配置,因为只有Runtime目录才是需要具备可写权限的,在Linux环境下面可以更加快速的部署和配置目录权限。
三、部署目录
当我们实际部署网站的时候,目录结构往往由于项目的复杂而变得复杂。我们推荐的部署目录结构如下:
ThinkP HP系统目录(下面的目录结构同上面的系统目录)
Home项目目录(下面的目录结构同上面的应用目录)
Admin后台管理项目目录
……更多的项目目录
index.php 网站的入口文件
admin.php 网站的后台入口文件
如果采用分组模块的话可以简化为一个项目目录
ThinkP HP系统目录(下面的目录结构同上面的系统目录)
App项目目录
Public网站公共目录
index.php 网站的入口文件
项目的模板文件还是放到项目的Tpl目录下面,只是将外部调用的资源文件,包括图片JS 和CSS统一放到网站的公共目录Public下面,分Images、Js和Css子目录存放,如果有可能的话,甚至也可以把这些资源文件单独放一个外部的服务器远程调用,并进行优化。
这样部署的好处是系统目录和项目目录可以放到非WEB访问目录下面,网站目录下面可以只需要放置Public公共目录和index.php入口文件(如果是多个项目的话,每个项目的入口文件都需要放到WEB目录下面),从而提高网站的安全性。
MVC分层
MVC 是一种将应用程序的逻辑层和表现层进行分离的方法。ThinkP HP 也是基于MVC设计模式的。MVC只是一个抽象的概念,并没有特别明确的规定,ThinkP HP中的M VC分层大致体现在:
模型(M):模型的定义由Model类来完成。
控制器(C):应用控制器(核心控制器App类)和Action控制器都承担了控制器的角,Action控制器完成业务过程控制,而应用控制器负责调度控制。
视图(V):由View类和模板文件组成,模板做到了100%分离,可以独立预览和制作。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论