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