(说明:文中的颜色一一对应)
目录结构
www WEB
部署目录(或者子目录)
├─index.php 入口文件
├─README.md README文件
├─composer.json Composer定义文件
├─Application 应用目录
├─Public 资源文件目录
└─ThinkPHP框架核心目录
3.2版本开始相比之前的版本
自带一个完整的应用目录结构(Application
)和默认的应用入口文件(index.php
)
Application
和Public
目录下面都是空的
而README.md
和composer.josn
文件仅用于说明,实际部署的时候可以删除。
1. 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 框架入口文件
2. index.php 入口文件
2.1 入口文件主要完成:
定义框架路径、项目路径(可选)
定义调试模式和应用模式(可选)
定义系统相关常量(可选)
载入框架入口文件(必须)
2.2 一般不建议在入口文件中做过多的操作
自动生成
自动创建目录
在第一次访问应用入口文件的时候,会显示如图所示的默认的欢迎页面,
并自动生成了一个默认的应用模块Home。
3.接下来再看原来空的Application 目录下面,
已经自动生成了公共模块Common 、默认的Home 模块 和Runtime 运行时目录的目录结构:
Application
├─Common 应用公共模块
│ └─Conf 应用公共配置文件目录
│ ├─Common 应用公共函数目录
├─Home 默认生成的Home模块
│ ├─Conf 模块配置文件目录
│ ├─Common 模块函数公共目录
│ ├─Controller 模块控制器目录
│ ├─Model 模块模型目录
│ └─View 模块视图文件目录
├─Runtime 运行时目录
│ ├─Cache 模版缓存目录
│ ├─Data 数据目录
│ ├─Logs 日志目录
│ └─Temp 缓存目录
如果不是Windows环境下面的话,需要对应用目录Application 设置可写权限才能自动生成。
如果不是调试模式的话,会在Runtime目录下面生成common~runtime.php 文件(应用编译缓存文
件)。
专题1:目录安全文件
在自动生成目录结构的同时,在各个目录下面我们还看到了index.html文件,这是ThinkPHP自动生成的目
录安全文件。
为了避免某些服务器开启了目录浏览权限后可以直接在浏览器输入URL地址查看目录,系统默认开启了目
录安全文件机制,会在自动生成目录的时候生成空白的index.html 文件,当然安全文件的名称可以设置,
例如你想给安全文件定义为default.html 可以在入口文件中添加:
define('DIR_SECURE_FILENAME', 'default.html');
define('APP_PATH','./Application/');
require './ThinkPHP/ThinkPHP.php';