入口文件

单入口文件: 应用程序所有http请求都由某一个文件接受并由这个文件转发到功能代码中
单入口优势:
安全检测只需要在入口文件中
在入口文件可以过滤掉无效的请求,假如是多入口还需要不同的文件进行相同的操作

// 定义应用目录
define('APP_PATH', __DIR__ . '/../application/');
// 加载框架引导文件
require __DIR__ . '/../thinkphp/start.php';

上面的代码便是tp框架入口文件,可以看到定义了一些常量,
我们如何知道这些常量在哪里定义呢?
回到根目录在thinkphp下,base.php这里就是定义常量的部分

首先定义了thinkphp的版本号
define(‘THINK_VERSION’, ‘5.0.24’);
记录开始的时间
define(‘THINK_START_TIME’, microtime(true));
开始时使用的内存
define(‘THINK_START_MEM’, memory_get_usage());
定义了文件的后缀名
define(‘EXT’, ‘.php’);
文件的分割符
define(‘DS’, DIRECTORY_SEPARATOR);
安装的框架目录
defined(‘THINK_PATH’) or define(‘THINK_PATH’, DIR . DS);


define(‘LIB_PATH’, THINK_PATH . ‘library’ . DS);
define(‘CORE_PATH’, LIB_PATH . ‘think’ . DS);
define(‘TRAIT_PATH’, LIB_PATH . ‘traits’ . DS);
当前框架的核心和’traits类的存放


在执行到这里之前,如果没有定义APP_PATH,这里会重新定义APP_PATH,指向的目录就是当前目录下,
defined(‘APP_PATH’) or define(‘APP_PATH’, dirname($_SERVER[‘SCRIPT_FILENAME’]) . DS);
程序的根目录
defined(‘ROOT_PATH’) or define(‘ROOT_PATH’, dirname(realpath(APP_PATH)) . DS);
扩展目录
defined(‘EXTEND_PATH’) or define(‘EXTEND_PATH’, ROOT_PATH . ‘extend’ . DS);
composer安装时类库目录
defined(’VENDOR_PATH’) or define(‘VENDOR_PATH’, ROOT_PATH . ‘vendor’ . DS);


defined(‘RUNTIME_PATH’) or define(‘RUNTIME_PATH’, ROOT_PATH . ‘runtime’ . DS);
defined(‘LOG_PATH’) or define(‘LOG_PATH’, RUNTIME_PATH . ‘log’ . DS);
defined(‘CACHE_PATH’) or define(‘CACHE_PATH’, RUNTIME_PATH . ‘cache’ . DS);
defined(‘TEMP_PATH’) or define(‘TEMP_PATH’, RUNTIME_PATH . ‘temp’ . DS);
系统运行目录,主要包含日志,缓存,临时文件


defined(‘CONF_PATH’) or define(‘CONF_PATH’, APP_PATH); // 配置文件目录
defined(‘CONF_EXT’) or define(‘CONF_EXT’, EXT); // 配置文件后缀
defined(‘ENV_PREFIX’) or define(‘ENV_PREFIX’, ‘PHP_’); // 环境变量的配置前缀

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值