thinkphp总体设计

一、单入口文件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入口文件

// 亲^_^ 后面不需要任何代码了 就是如此简单
?>

最终生成的应用目录结构如下:

  1. www WEB部署目录(或者子目录)
  2. ├─index.php 应用入口文件
  3. ├─Apps 应用目录
  4. ├─Public 资源文件目录
  5. ├─Runtime 运行时目录
  6. └─Think 框架目录

二、框架目录ThinkPHP的结构如下:

  1. ├─ThinkPHP 框架系统目录(可以部署在非web目录下面)
  2. ├─Common 核心公共函数目录
  3. ├─Conf 核心配置目录
  4. ├─Lang 核心语言包目录
  5. ├─Library 框架类库目录
  6. ├─Think 核心Think类库包目录
  7. ├─Behavior 行为类库目录
  8. ├─Org Org类库包目录
  9. ├─Vendor 第三方类库目录
  10. ├─ ... 更多类库目录
  11. ├─Mode 框架应用模式目录
  12. ├─Tpl 系统模板目录
  13. ├─LICENSE.txt 框架授权协议文件
  14. ├─logo.png 框架LOGO文件
  15. ├─README.txt 框架README文件
  16. └─index.php 框架入口文件

三、目录安全文件

1、初次运行入口文件,会自动生成目录。在自动生成目录结构的同时,在各个目录下面我们还看到了index.html文件,这是ThinkPHP自动生成的目录安全文件。为了避免某些服务器开启了目录浏览权限后可以直接在浏览器输入URL地址查看目录,系统默认开启了目录安全文件机制,会在自动生成目录的时候生成空白的index.html文件,当然安全文件的名称可以设置,例如你想给安全文件定义为default.html可以在入口文件中添加: define('DIR_SECURE_FILENAME', 'default.html');

2、如果不想生成目录安全文件,添加: define('BUILD_DIR_SECURE', false);即可。

自动生成目录结构如下:

  1. Application
  2. ├─Common 应用公共模块
  3. ├─Common 应用公共函数目录
  4. └─Conf 应用公共配置文件目录
  5. ├─Home 默认生成的Home模块
  6. ├─Conf 模块配置文件目录
  7. ├─Common 模块函数公共目录
  8. ├─Controller 模块控制器目录
  9. ├─Model 模块模型目录
  10. └─View 模块视图文件目录
  11. ├─Runtime 运行时目录
  12. ├─Cache 模版缓存目录
  13. ├─Data 数据目录
  14. ├─Logs 日志目录
  15. └─Temp 缓存目录

四、应用项目的结构

1、模块化的设计架构

  1. Application 默认应用目录(可以设置)
  2. ├─Common 公共模块(不能直接访问)
  3. ├─Home 前台模块
  4. ├─Admin 后台模块
  5. ├─... 其他更多模块
  6. ├─Runtime 默认运行时目录(可以设置)

2、每个模块是相对独立的,其目录结构如下:

    由于采用多层的MVC机制,除了Conf和Common目录外,每个模块下面的目录结构可以根据需要灵活设置和添加,所以并不拘泥于上面展现的目录

  1. ├─Module 模块目录
  2. ├─Conf 配置文件目录
  3. ├─Common 公共函数目录
  4. ├─Controller 控制器目录
  5. ├─Model 模型目录
  6. ├─Logic 逻辑目录(可选)
  7. ├─Service Service目录(可选)
  8. ... 更多分层目录可选
  9. └─View 视图目录
posted @ 2014-08-21 09:33  王大利  阅读(412)  评论(0编辑  收藏  举报