php入口文件设计,入口文件 · ThinkPHP3.2.2完全开发手册 · 看云

# 入口文件

[上一页](# "上一页")[下一页](# "下一页")

ThinkPHP采用**单一入口模式**进行项目部署和访问,无论完成什么功能,一个应用都有一个统一(但不一定是唯一)的入口。

应该说,所有应用都是从入口文件开始的,并且不同应用的入口文件是类似的。

### 入口文件定义

入口文件主要完成:

- 定义框架路径、项目路径(可选)

- 定义调试模式和应用模式(可选)

- 定义系统相关常量(可选)

- 载入框架入口文件(必须)

默认情况下,3.2版本的框架已经自带了一个应用入口文件(以及默认的目录结构),内容如下:

~~~

define('APP_PATH','./Application/');

require './ThinkPHP/ThinkPHP.php';

~~~

> 注意:3.2版本开始无需定义APP_NAME常量

如果你改变了项目目录(例如把`Application`更改为`Apps`),只需要在入口文件更改**APP_PATH**常量定义即可:

~~~

define('APP_PATH','./Apps/');

require './ThinkPHP/ThinkPHP.php';

~~~

> 注意:APP_PATH的定义支持相对路径和绝对路径,但必须以“/”结束

如果你调整了框架核心目录的位置或者目录名,只需要这样修改:

~~~

define('APP_PATH','./Application/');

require './Think/ThinkPHP.php';

~~~

也可以单独定义一个**THINK_PATH**常量用于引入:

~~~

define('APP_PATH','./Application/');

define('THINK_PATH',realpath('../Think').'/');

require THINK_PATH.'ThinkPHP.php';

~~~

> 和APP_PATH一样THINK_PATH路径定义也必须以“/”结尾。

给THINK_PATH和APP_PATH定义绝对路径会提高系统的加载效率。

### 入口文件中的其他定义

一般不建议在入口文件中做过多的操作,但可以重新定义一些系统常量,入口文件中支持定义(建议)的一些系统常量包括:

| 常量 | 描述 |

|-----|-----|

| THINK_PATH | 框架目录 |

| APP_PATH | 应用目录 |

| RUNTIME_PATH | 应用运行时目录(可写) |

| APP_DEBUG | 应用调试模式 (默认为false) |

| STORAGE_TYPE | 存储类型(默认为File) |

| APP_MODE | 应用模式(默认为common) |

> 注意:所有路径常量都必须以“/”结尾

例如,我们可以在入口文件中重新定义相关目录并且开启调试模式:

~~~

// 定义应用目录

define('APP_PATH','./Apps/');

// 定义运行时目录

define('RUNTIME_PATH','./Runtime/');

// 开启调试模式

define('APP_DEBUG',True);

// 更名框架目录名称,并载入框架入口文件

require './Think/ThinkPHP.php';

~~~

这样最终的应用目录结构如下:

~~~

www WEB部署目录(或者子目录)

├─index.php 应用入口文件

├─Apps 应用目录

├─Public 资源文件目录

├─Runtime 运行时目录

└─Think 框架目录

~~~

> 入口文件中还可以定义一些系统变量,用于相关的绑定操作(通常用于多个入口的情况),这个会在后面涉及,暂且不提。

[上一页](# "上一页")[下一页](# "下一页")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值