一、单入口文件index.php。写法如下:
<?php
// 应用入口文件
// 检测PHP环境
if(version_compare(PHP_VERSION,\'5.3.0\',\'<\')) die(\'require PHP > 5.3.0 !\');
// 开启调试模式 建议开发阶段开启 部署阶段注释或者设为false
define(\'APP_DEBUG\',True);
// 定义运行时目录,在根目录下生成目录Runtime
define(\'RUNTIME_PATH\',\'./Runtime/\');
// 绑定Admin模块到当前入口文件
define(\'BIND_MODULE\',\'Admin\');
//
define(\'BUILD_CONTROLLER_LIST\',\'Index,User,Menu\');
define(\'BUILD_MODEL_LIST\',\'User,Menu\');
// 定义应用目录。如果你改变了项目目录(例如把Application更改为Apps),只需要在入口文件更改APP_PATH常量定义即可: define(\'APP_PATH\',\'./Apps/\');
define(\'APP_PATH\',\'./Application/\');
// 引入ThinkPHP入口文件
require \'./ThinkPHP/ThinkPHP.php\';
//include \'./ThinkPHP/ThinkPHP.php\'; // 引入ThinkPHP入口文件
// 亲^_^ 后面不需要任何代码了 就是如此简单
?>
最终生成的应用目录结构如下:
www WEB部署目录(或者子目录)├─index.php 应用入口文件├─Apps 应用目录├─Public 资源文件目录├─Runtime 运行时目录└─Think 框架目录
二、框架目录ThinkPHP的结构如下:
├─ThinkPHP 框架系统目录(可以部署在非web目录下面)│ ├─Common 核心公共函数目录│ ├─Conf 核心配置目录│ ├─Lang 核心语言包目录│ ├─Library 框架类库目录│ │ ├─Think 核心Think类库包目录│ │ ├─Behavior 行为类库目录│ │ ├─Org Org类库包目录│ │ ├─Vendor 第三方类库目录│ │ ├─ ... 更多类库目录│ ├─Mode 框架应用模式目录│ ├─Tpl 系统模板目录│ ├─LICENSE.txt 框架授权协议文件│ ├─logo.png 框架LOGO文件│ ├─README.txt 框架README文件│ └─index.php 框架入口文件
三、目录安全文件
1、初次运行入口文件,会自动生成目录。在自动生成目录结构的同时,在各个目录下面我们还看到了index.html文件,这是ThinkPHP自动生成的目录安全文件。为了避免某些服务器开启了目录浏览权限后可以直接在浏览器输入URL地址查看目录,系统默认开启了目录安全文件机制,会在自动生成目录的时候生成空白的index.html文件,当然安全文件的名称可以设置,例如你想给安全文件定义为default.html可以在入口文件中添加: define(\'DIR_SECURE_FILENAME\', \'default.html\');
2、如果不想生成目录安全文件,添加: define(\'BUILD_DIR_SECURE\', false);即可。
自动生成目录结构如下:
Application├─Common 应用公共模块│ ├─Common 应用公共函数目录│ └─Conf 应用公共配置文件目录├─Home 默认生成的Home模块│ ├─Conf 模块配置文件目录│ ├─Common 模块函数公共目录│ ├─Controller 模块控制器目录│ ├─Model 模块模型目录│ └─View 模块视图文件目录├─Runtime 运行时目录│ ├─Cache 模版缓存目录│ ├─Data 数据目录│ ├─Logs 日志目录│ └─Temp 缓存目录
四、应用项目的结构
1、模块化的设计架构
Application 默认应用目录(可以设置)├─Common 公共模块(不能直接访问)├─Home 前台模块├─Admin 后台模块├─... 其他更多模块├─Runtime 默认运行时目录(可以设置)
2、每个模块是相对独立的,其目录结构如下:
由于采用多层的MVC机制,除了Conf和Common目录外,每个模块下面的目录结构可以根据需要灵活设置和添加,所以并不拘泥于上面展现的目录
├─Module 模块目录│ ├─Conf 配置文件目录│ ├─Common 公共函数目录│ ├─Controller 控制器目录│ ├─Model 模型目录│ ├─Logic 逻辑目录(可选)│ ├─Service Service目录(可选)│ ... 更多分层目录可选│ └─View 视图目录