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';
// 添加额外的代码
// ...
// 执行应用
	hinkApp::run()->send();