一、概况
注意,框架的公共入口文件
ThinkPHP.php是不能直接执行的,该文件只能在项目入口文件中调用
thinkphp是一个免费开源的,快速、简单的面向对象的 轻量级PHP开发框架,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。thinkphpPHP的界面简洁实用,在保持 出色的性能和至简的代码同时,也注重易用性,并且拥有众多功能原创功能和特性。
二、对整个框架进行分步了解
1、从
基础 配置 架构 路由 控制器 模型 视图 模板 调试 缓存 安全方面
全方位的去了解THinkPHP3.2.3
①、基础篇:
ThinkPHP最新版本可以在官方网站(http://thinkphp.cn/down/framework.html)或者Github(https://github.com/liu21st/thinkphp/downloads)下载。
把下载后的压缩文件解压到你的WEB目录(或者任何目录都可以),框架的目录结构为:
-
- ├─ThinkPHP.php 框架入口文件
- ├─Common 框架公共文件
- ├─Conf 框架配置文件
- ├─Extend 框架扩展目录
- ├─Lang 核心语言包目录
- ├─Lib 核心类库目录
- │ ├─Behavior 核心行为类库
- │ ├─Core 核心基类库
- │ ├─Driver 内置驱动
- │ │ ├─Cache 内置缓存驱动
- │ │ ├─Db 内置数据库驱动
- │ │ ├─TagLib 内置标签驱动
- │ │ └─Template 内置模板引擎驱动
- │ └─Template 内置模板引擎
- └─Tpl 系统模板目录
在开始之前,你需要一个
Web服务器和PHP运行环境,如果你暂时还没有,推荐使用集成开发环境
WAMPServer(是一个集成了
Apache、
PHP和
MySQL的开 发套件,而且支持多个PHP版本、MySQL版本和Apache版本的切换)来使用ThinkPHP进行本地开发和测试。
接下来我们先在WEB根目录下面创建一个app子目录(这个app就是我们的项目名),然后在该目录下面创建一个index.php文件,添加一行简单的代码:
接下来我们先在WEB根目录下面创建一个app子目录(这个app就是我们的项目名),然后在该目录下面创建一个index.php文件,添加一行简单的代码:
- <?php
- require '/ThinkPHP框架所在目录/ThinkPHP.php';
在浏览器内运行:
http://localhost/app/ 就可以直接进入ThinkPHP的欢迎页面了,并且,框架为自动生成项目运行的基本目录,如缓存目录,模板目录等:
-
- ├─index.php 项目入口文件
- ├─Common 项目公共文件目录
- ├─Conf 项目配置目录
- ├─Lang 项目语言目录
- ├─Lib 项目类库目录
- │ ├─Action Action类库目录
- │ ├─Behavior 行为类库目录
- │ ├─Model 模型类库目录
- │ └─Widget Widget类库目录
- ├─Runtime 项目运行时目录
- │ ├─Cache 模板缓存目录
- │ ├─Data 数据缓存目录
- │ ├─Logs 日志文件目录
- │ └─Temp 临时缓存目录
- └─Tpl 项目模板目录
入口文件内相关参数说明:
-
- <?php
- define('APP_NAME','app'); //定义项目的名称 APP_NAME
- define('APP_PATH','./app/'); //定义项目的入口目录 APP_PATH
define('APP_DEBUG',TRUE); // 开启调试模式 开启调试模式后,调试模式则以除错方便优先,关闭任何缓存,而且尽可能多的抛出错误信息,所以对性能有一定的影响(开发阶段适合打开,方便开发者发现一些隐藏的bug)
- require '/ThinkPHP框架所在目录/ThinkPHP.php';
②、配置
每个项目都有一个独立的配置文件(位于项目目录的
Conf/config.php),配置文件的定义格式均采用
PHP返回数组的方式,例如:
-
- // 项目配置文件
- return array(
- '配置参数' => '配置值',
- // 更多配置参数
- //...
- );
注意:配置值可以支持包括
字符串、数字、布尔值和数组
在内的数据,通常我们建议配置参数均使用
大写定义
。如果有需要,我们还可以为项目定义其他的配置文件。
<?php
defined('THINK_PATH') or exit();
return array(
/* 项目设定 */
'APP_STATUS' => 'debug', // 应用调试模式状态 调试模式开启后有效 默认为debug 可扩展 并自动加载对应的配置文件
'APP_FILE_CASE' => true, // 是否检查文件的大小写 对Windows平台有效
'APP_AUTOLOAD_PATH' => '',// 自动加载机制的自动搜索路径,注意搜索顺序
'APP_TAGS_ON' => true, // 系统标签扩展开关
'APP_SUB_DOMAIN_DEPLOY' => false, // 是否开启子域名部署
'APP_SUB_DOMAIN_RULES' => array(), // 子域名部署规则
'APP_SUB_DOMAIN_DENY' => array(), // 子域名禁用列表
'APP_GROUP_LIST' => 'Home,System,User,Wap,Chat', // 项目分组设定,多个组之间用逗号分隔,例如'Home,Admin'
'ACTION_SUFFIX' => '', // 操作方法后缀
/* Cookie设置 */
'COOKIE_EXPIRE' => 0, // Coodie有效期
'COOKIE_DOMAIN' => '', // Cookie有效域名
'COOKIE_PATH' => '/', // Cookie路径
'COOKIE_PREFIX' => '', // Cookie前缀 避免冲突
/* 默认设定 */
'DEFAULT_M_LAYER' => 'Model', // 默认的模型层名称
'DEFAULT_C_LAYER' => 'Action', // 默认的控制器层名称
'DEFAULT_APP' => '@', // 默认项目名称,@表示当前项目
'DEFAULT_LANG' => 'zh-cn', //