ThinkPHP是一个免费、开源的,快速、简单地面向对象的轻量级PHP开发框架,遵循Apache2开源协议发布,是为了敏捷Web应用开发和简化企业级应用开发而诞生的。ThinkPHP借鉴国外很多优秀的框架和模式,使用面向对象的开发结构和MVC模式,采用单一入口模式等,融合了Struts的Action思想和JSP的TabLib(标签库)、RoR的ORM映射和ActiveRecord模式,封装了CURD和一些常用的操作,在项目配置、类库导入、模板引擎、查询语言、自动验证、视图模型、项目编译、缓存机制、SEO支持、分布式数据库、多数据库连接和切换、认证机制和扩展性方面均有独特的表现。
术语解释
1、项目
一个完整的Web程序,至少包括应用目录、框架目录、入口文件三者,一个项目可以有多个应用和多个入口文件,但是一个入口文件只对应一个应用。例如,有个留言板项目,Application目录和index.php组成前台应用,Admin目录和admin.php组成后台应用,这两个应用都属于留言板项目。
2、应用
一个入口文件和一个应用目录构成一个引用,应用之间逻辑上是项目独立的。
3、模式
应用运行的模式,默认为Common,也就是普通模式。此外,ThinkPHP还支持Lite、云引擎模式(如AE云引擎,BAE云引擎)、Api模式。
4、模块
应用目录中除了Runtime目录外其他目录都是一个模块,Common模块比较特殊,该模块不能直接被浏览器访问。
5、控制器
模块目录下的Controller文件夹中形如xxxController.class.php的文件,即为一个控制器。
6、动作
控制器的public方法都是动作
MVC
MVC全名是Model View Controller,是模型(Model)——视图(View)——控制器(Controller)的缩写,一种人间设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特地发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。
- M 项目目录/应用目录/Lib/Model
- V 项目目录/应用目录/Tpl
- C 项目目录/应用目录/Lib/Action