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_PATH
和APP_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 框架目录
入口文件中还可以定义一些系统变量,用于相关的绑定操作(通常用于多个入口的情况)
更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》及《PHP模板技术总结》。
希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。
您可能感兴趣的文章:
- ThinkPHP入口文件设置及相关注意事项分析
- Thinkphp通过一个入口文件如何区分移动端和PC端
- ThinkPHP中url隐藏入口文件后接收alipay传值的方法
- 浅谈thinkphp的nginx配置,以及重写隐藏index.php入口文件方法
- thinkphp3.2中Lite文件替换框架入口文件或应用入口文件的方法
- Thinkphp5 如何隐藏入口文件index.php(URL重写)
- 在thinkphp5.0路径中实现去除index.php的方式
- thinkphp隐藏index.php/home并允许访问其他模块的实现方法
- ThinkPHP框架里隐藏index.php
- Nginx配置PATHINFO隐藏thinkphp index.php
- 修改apache配置文件去除thinkphp url中的index.php
- ThinkPHP3.1.3源码分析(一) 入口文件分析
- thinkphp3.2中Lite文件替换框架入口文件或应用入口文件的方法
- thinkphp文件处理类Dir.class.php的用法分析
- Yii框架getter与setter方法功能与用法分析
- thinkphp3.2中Lite文件替换框架入口文件或应用入口文件的方法
- thinkPHP5框架中widget的功能与用法详解
- python基础编程:Python Web框架之Django框架cookie和session用法分析
- CI框架文件上传类及图像处理类用法分析
- Scrapy源码分析(一):框架入口点和配置文件加载
- Django框架组成结构、基本概念与文件功能分析
- Thinkphp5.0 框架Model模型简单用法分析
- ThinkPHP 入口文件定义 3.0 输出两次解决办法
- thinkphp的目录常量在入口文件index.php里定义
- CodeIgniter框架——源码分析之入口文件index.php
- thinkphp源码分析(1)--- 入口文件
- Thinkphp源码分析系列(一)–入口文件
- thinkphp5.1框架模板布局与模板继承用法分析
- 框架入门 基础篇 (上)入口文件,自动加载,路由
- CI框架入口文件index.php文件分析 推荐
- ThinkPHP入口文件设置及相关注意事项分析