最近kdchxue看完了smarty之后,想学习下框架,于是乎就选择了ThinkPHP,听说这个框架简单易用,另外还是国产的!所以kdchxue毫不犹豫的就选择了ThinkPHP 了!下面看看ThinkPHP 的详细介绍.
ThinkPHP 是一个免费开源的,快速、简单的面向对象的 轻量级PHP开发框架,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多的原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进,众多的典型案例确保可以稳定用于商业以及门户级的开发。
ThinkPHP 获取与安装
ThinkPHP 官方下载地址:http://thinkphp.cn/Down
ThinkPHP无需单独安装,拷贝至服务器解析目录下面,形成 ThinkPHP 目录即可.
ThinkPHP 目录结构说明
ThinkPHP.php:框架的公共入口文件
Common:包含框架的一些公共文件、系统定义、系统函数和惯例配置等
Lang:系统语言文件目录
Lib:系统基类库目录
Tpl:系统模板目录
Mode:框架模式扩展目录
Vendor:第三方类库目录
ThinkPHP 运行环境要求
ThinkPHP 可以支持 Windows/Unix 服务器环境,可运行于包括 Apache、IIS 和 nginx 在内的多种 WEB 服务器和模式,需要 PHP5.0 以上版本支持,支持 Mysql、MsSQL、PgSQL、Sqlite、Oracle、Ibase 以及 PDO 等多种数据库和连接。
ThinkPHP 本身没有什么特别模块要求,具体的应用系统运行环境要求视开发所涉及的模块。ThinkPHP 底层运行的内存消耗极低,而本身的文件大小也是轻量级的,因此不会出现空间和内存占用的瓶颈。
入口文件
一个项目(系统)通常具有一个统一的入口文件,项目的所有功能操作都是通过这个入口文件进行的,并且往往入口文件是第一步被执行的,这是 ThinkPHP 或者说 PHP 框架中非常重要的一个概念。
创建入口文件
在 Web 目录(E:html)下创建一个项目目录,如 myapp,在 myapp 目录内创建一个文件index.php,文件内容如下:
- //定义ThinkPHP框架路径
- define('THINK_PATH', '../ThinkPHP');
- //定义项目名称和路径
- define('APP_NAME', 'myapp');
- define('APP_PATH', '.');
- //加载框架入口文件
- require(THINK_PATH."/ThinkPHP.php");
- //实例化一个网站应用实例
- App::run();
- ?>
在入口文件中,定义了 ThinkPHP 框架路径、项目路径及名称以及加载框架入口文件 ThinkPHP.php,最后实例化一个项目应用.
保存入口文件后,在浏览器运行该文件:http://127.0.0.1/html/myapp/index.php,可以看到浏览器出现项目构建成功提示:
如果无法显示该页面,请检查入口文件的配置。
项目:在 ThinkPHP 中项目的概念,相当于一个独立的基于 ThinkPHP 框架的应用,项目有自己独立的入口文件、配置文件、应用类库及模板、缓存日志等,项目在入口文件中定义,包括项目名称和路径(如上面的例子)。
项目中的应用都通过入口文件来访问,一个网站由一个或多个项目组成,一个网站的典型部署如下:
ThinkPHP:ThinkPHP 核心包目录
Home:网站应用项目目录
index.php:网站入口文件
admin.php:后台管理入口文件
……更多项目目录
第三方应用:BBS、SNS 等目录
提示:ThinkPHP支持项目分组,项目分组让项目部署复杂些,但更方便也更符合逻辑,推荐使用项目分组,具体可见《ThinkPHP 项目分组》。
项目目录结构
第一次运行项目入口文件时,系统会自动生成了项目目录结构,在 myapp 下.
Common:项目公共文件目录,一般放置项目的公共函数
Conf:项目配置目录,配置文件放该目录下
Lang:项目语言包目录(可选),作为多语言支持
Lib:项目类库目录,通常包括Action和Model子目录
Tpl:项目模板目录,支持不同模板主题
Runtime:项目运行时目录,包括Cache(模板缓存)、Temp(数据缓存)、Data(数据目录)和Logs(日志文件)子目录.