ThinkPHP类库说明
ThinkPHP 基类库
类库是 ThinkPHP 的核心部分,而 ThinkPHP
又通过基类库的概念把所有系统类库都集中在一起管理。核心基类库包括完成框架的通用性开发而必须的基础类和常用工具类。
基类库位于 ThinkPHP
系统目录下面的 Lib/Think 目录内,由下面几个部分组成:
Core:核心类库包
Db:数据库类库包
Exception:异常处理类库包
Template:内置模板引擎类库包
Util:系统工具类库包
Core 核心类库
Core
核心类库包括如下类文件(目录):
Think.class.php:系统基类
App.class.php:应用程序类,执行应用管理
Action.class.php:控制器基类
Model.class.php:模型基类
Model/AdvModel.class.php:高级模型类
Model/RelationModel.class.php:关联模型类
Model/ViewModel.class.php:视图模型类
Log.class.php:日志处理类
View.class.php:视图输出类
Db
数据库类库
Db
核心类库包括如下类文件(目录):
Db.class.php:数据库中间层实现类
Driver/DbMysql.class.php:Mysql
数据库驱动类
Driver/DbMysqli.class.php:Mysqli 数据库驱动类
Driver/DbPdo.class.php:PDO
数据库驱动类
Driver/DbPgsql.class.php:Pgsql
数据库驱动类
Driver/DbSqlite.class.php:Sqlite
数据库驱动类
Driver/DbOracle.class.php:Oracle
数据库驱动类
Driver/DbMssql.class.php:Mssql
数据库驱动类
Driver/DbIbase.class.php:Ibase 数据库驱动类
在 Driver
目录下针对不同数据库有不同的数据库驱动类,然后再通过 Db.class.php 数据库中间层实现类加工后,展现在 ThinkPHP
使用者面前的就是统一的数据库操作模型。
Exception 异常处理类库
Exception
异常处理类库包只包含一个类文件:ThinkException.class.php 系统异常基类。
Template
内置模板引擎类库
Template
内置模板引擎类库包括如下类文件(目录):。
ThinkTemplate.class.php:内置模板引擎类
TagLib.class.php:标签库基类
TagLib/TagLibCx.class.php:CX
标签库解析类
TagLib/TagLibHtml.class.php:HTML 标签库解析类
Util
系统工具类库包
Util
系统工具类库包提供了系统开发中一些基本的工具,具体包括:
Behavior.class.php:行为扩展基类
Cache.class.php:缓存管理类
Cookie.class.php:Cookie
管理类
Debug.class.php:系统调试类
Dispatcher.class.php:URL
解析、路由和调度管理类
HtmlCache.class.php:静态缓存类
Session.class.php:Session
管理类
Widget.class.php:插件应用类
Cache/:各类型缓存类文件目录,包括:文件缓存类、Sqlite缓存类、Apachenote缓存类、Memcache缓存类、Xcache缓存类、数据库类型缓存类等
Template/:模板引擎解析类目录,包括:EaseTemplate模板引擎解析类、TemplateLite模板引擎解析类、Smart模板引擎解析类、Smarty模板引擎解析类、Think模板引擎解析类
ThinkPHP
扩展类库
ThinkPHP 官方网站额外提供了很多的基类库扩展,这些扩展类库必须放置于 ThinkPHP系统目录/Lib 目录下的 ORG 或
Com 类库包内进行管理。
对于需要添加进入扩展类库包的类库,可以直接带路径拷贝类库文件到扩展类库管理目录就可以使用了。例如要使用
Util/Page.class.php 分页扩展类库,直接到扩展类库管理目录形成 Lib/ORG/Util/Page.class.php
即可。
对扩展类库需要使用 import 指令导入方可使用,具体参考本节内容《ThinkPHP import
类库导入》。
应用类库
应用类库是指项目中自己定义或者使用的类库。应用类库目录位于项目目录下面的 Lib 目录。
以上是
ThinkPHP 核心 —— 类库的的介绍。了解 ThinkPHP 类库有助于我们了解 ThinkPHP
的层次结构和工作原理,必要的时候参考这些类库的源代码也有助于问题的解决。