入口文件定义

ginkgo 采用单一入口文件进行项目的部署和访问,每个应用都有统一(但不一定是唯一)的入口。所有应用都是从入口文件开始的,并且不同应用的入口文件是类似的。

入口文件主要完成以下工作

  • 定义框架路径、项目路径(可选)
  • 定义系统相关常量(可选)
  • 载入框架引导文件(必须)

默认的入口文件位于 public/index.php,内容如下:

  1. // 加载框架引导文件
  2. require(__DIR__ . '/../ginkgo/boot.php');

入口文件位置的设计是为了让应用更安全,public 目录为 web 可访问目录,其他的文件都可以放到非 web 访问目录下。

入口文件中还可以定义一些常量,用于更高级的部署,详情请查看 配置 -> 常量配置 章节。

下面是一个示例

  1. // 定义应用目录
  2. define('GK_PATH_APP', __DIR__ . '/../app/'); //应用目录
  3. define('GK_PATH_VENDOR', __DIR__ . '/../vendor/'); //composer
  4. // 加载框架引导文件
  5. require(__DIR__ . '/../ginkgo/boot.php');

在有些情况下,可能需要加载初始化文件 base.php,该文件和 boot.php 的区别是不会主动执行应用,而是需要自己进行执行,下面是一个示例:

  1. // 加载初始化文件
  2. require(__DIR__ . '/../ginkgo/base.php');
  3. // 添加额外的代码
  4. // ...
  5. // 执行应用
  6. ginkgo\App::run()->send();

GK_PATH_APP 定义绝对路径会提高系统的加载效率。

注意:常量定义必须在加载框架引导文件之前