ThinkPHP采用单一入口模式进行项目部署和访问,无论完成什么功能,一个应用都有一个统一(但不一定是唯一)的入口。
应该说,所有应用都是从入口文件开始的,并且不同应用的入口文件是类似的。
入口文件定义
入口文件主要完成:
- 定义框架路径、项目路径(可选)
- 定义系统相关常量(可选)
- 载入框架入口文件(必须)
5.0默认的应用入口文件位于public/index.php
,内容如下:
// 定义应用目录
define('APP_PATH', __DIR__ . '/../application/');
// 加载框架引导文件
require __DIR__ . '/../thinkphp/start.php';
入口文件位置的设计是为了让应用部署更安全,
public
目录为web可访问目录,其他的文件都可以放到非WEB访问目录下面。
修改入口文件位置请查看章节<部署-虚拟主机环境>
入口文件中还可以定义一些系统变量,用于相关的绑定操作(通常用于多个入口的情况),这个会在后面涉及,暂且不提。
给
APP_PATH
定义绝对路径会提高系统的加载效率。
在有些情况下,你可能需要加载框架的基础引导文件base.php
,该引导文件和start.php
的区别是不会主动执行应用,而是需要自己进行应用执行,下面是一个例子:
// 定义应用目录
define('APP_PATH', __DIR__ . '/../application/');
// 加载框架基础引导文件
require __DIR__ . '/../thinkphp/base.php';
// 添加额外的代码
// ...
// 执行应用
\think\App::run()->send();