欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Thinkphp 框架基础之入口文件功能、定义与用法分析

程序员文章站 2022-03-08 14:12:03
本文实例讲述了thinkphp 框架基础之入口文件功能、定义与用法。分享给大家供大家参考,具体如下:入口文件thinkphp采用单一入口模式进行项目部署和访问,无论完成什么功能,一个应用都有一个统一(...

本文实例讲述了thinkphp 框架基础之入口文件功能、定义与用法。分享给大家供大家参考,具体如下:

入口文件

thinkphp采用单一入口模式进行项目部署和访问,无论完成什么功能,一个应用都有一个统一(但不一定是唯一)的入口。

应该说,所有应用都是从入口文件开始的,并且不同应用的入口文件是类似的。

入口文件定义

入口文件主要完成:

  • 定义框架路径、项目路径(可选)
  • 定义调试模式和应用模式(可选)
  • 定义系统相关常量(可选)
  • 载入框架入口文件(必须)

默认情况下,框架已经自带了一个应用入口文件(以及默认的目录结构),内容如下:

define('app_path','./application/');
require './thinkphp/thinkphp.php';

如果你改变了项目目录(例如把application更改为apps),只需要在入口文件更改app_path常量定义即可:

define('app_path','./apps/');
require './thinkphp/thinkphp.php';

注意:app_path的定义支持相对路径和绝对路径,但必须以“/”结束

如果你调整了框架核心目录的位置或者目录名,只需要这样修改:

define('app_path','./application/');
require './think/thinkphp.php';

也可以单独定义一个think_path常量用于引入:

define('app_path','./application/');
define('think_path',realpath('../think').'/');
require think_path.'thinkphp.php';

app_path一样think_path路径定义也必须以“/”结尾。
think_pathapp_path定义绝对路径会提高系统的加载效率。

入口文件中的其他定义

一般不建议在入口文件中做过多的操作,但可以重新定义一些系统常量,入口文件中支持定义(建议)的一些系统常量包括:

常量 描述
think_path 框架目录
app_path 应用目录
runtime_path 应用运行时目录(可写)
app_debug 应用调试模式 (默认为false)
storage_type 存储类型(默认为file)
app_mode 应用模式(默认为common)

注意:所有路径常量都必须以“/”结尾

例如,我们可以在入口文件中重新定义相关目录并且开启调试模式:

// 定义应用目录
define('app_path','./apps/');
// 定义运行时目录
define('runtime_path','./runtime/');
// 开启调试模式
define('app_debug',true);
// 更名框架目录名称,并载入框架入口文件
require './think/thinkphp.php';

这样最终的应用目录结构如下:

www  web部署目录(或者子目录)
├─index.php       应用入口文件
├─apps            应用目录
├─public          资源文件目录
├─runtime         运行时目录
└─think           框架目录

入口文件中还可以定义一些系统变量,用于相关的绑定操作(通常用于多个入口的情况)