入口文件定义
ginkgo 采用单一入口文件进行项目的部署和访问,每个应用都有统一(但不一定是唯一)的入口。所有应用都是从入口文件开始的,并且不同应用的入口文件是类似的。
入口文件主要完成以下工作
- 定义框架路径、项目路径(可选)
- 定义系统相关常量(可选)
- 载入框架引导文件(必须)
默认的入口文件位于 public/index.php
,内容如下:
// 加载框架引导文件
require(__DIR__ . '/../ginkgo/boot.php');
入口文件位置的设计是为了让应用更安全,public 目录为 web 可访问目录,其他的文件都可以放到非 web 访问目录下。
入口文件中还可以定义一些常量,用于更高级的部署,详情请查看 配置 -> 常量配置
章节。
下面是一个示例
// 定义应用目录
define('GK_PATH_APP', __DIR__ . '/../app/'); //应用目录
define('GK_PATH_VENDOR', __DIR__ . '/../vendor/'); //composer
// 加载框架引导文件
require(__DIR__ . '/../ginkgo/boot.php');
在有些情况下,可能需要加载初始化文件 base.php
,该文件和 boot.php
的区别是不会主动执行应用,而是需要自己进行执行,下面是一个示例:
// 加载初始化文件
require(__DIR__ . '/../ginkgo/base.php');
// 添加额外的代码
// ...
// 执行应用
ginkgo\App::run()->send();
给 GK_PATH_APP
定义绝对路径会提高系统的加载效率。
注意:常量定义必须在加载框架引导文件之前