本文實(shí)例講述了Thinkphp 框架基礎(chǔ)之入口文件功能、定義與用法。分享給大家供大家參考,具體如下:
入口文件
ThinkPHP采用單一入口模式進(jìn)行項(xiàng)目部署和訪問,無論完成什么功能,一個(gè)應(yīng)用都有一個(gè)統(tǒng)一(但不一定是唯一)的入口。
應(yīng)該說,所有應(yīng)用都是從入口文件開始的,并且不同應(yīng)用的入口文件是類似的。
入口文件定義
入口文件主要完成:
- 定義框架路徑、項(xiàng)目路徑(可選)
- 定義調(diào)試模式和應(yīng)用模式(可選)
- 定義系統(tǒng)相關(guān)常量(可選)
- 載入框架入口文件(必須)
默認(rèn)情況下,框架已經(jīng)自帶了一個(gè)應(yīng)用入口文件(以及默認(rèn)的目錄結(jié)構(gòu)),內(nèi)容如下:
define('APP_PATH','./Application/');
require './ThinkPHP/ThinkPHP.php';
如果你改變了項(xiàng)目目錄(例如把Application更改為Apps),只需要在入口文件更改APP_PATH
常量定義即可:
define('APP_PATH','./Apps/');
require './ThinkPHP/ThinkPHP.php';
注意:APP_PATH
的定義支持相對路徑和絕對路徑,但必須以“/”結(jié)束
如果你調(diào)整了框架核心目錄的位置或者目錄名,只需要這樣修改:
define('APP_PATH','./Application/');
require './Think/ThinkPHP.php';
也可以單獨(dú)定義一個(gè)THINK_PATH常量用于引入:
define('APP_PATH','./Application/');
define('THINK_PATH',realpath('../Think').'/');
require THINK_PATH.'ThinkPHP.php';
和APP_PATH
一樣THINK_PATH
路徑定義也必須以“/
”結(jié)尾。
給THINK_PATH
和APP_PATH
定義絕對路徑會提高系統(tǒng)的加載效率。
入口文件中的其他定義
一般不建議在入口文件中做過多的操作,但可以重新定義一些系統(tǒng)常量,入口文件中支持定義(建議)的一些系統(tǒng)常量包括:
常量 |
描述 |
THINK_PATH |
框架目錄 |
APP_PATH |
應(yīng)用目錄 |
RUNTIME_PATH |
應(yīng)用運(yùn)行時(shí)目錄(可寫) |
APP_DEBUG |
應(yīng)用調(diào)試模式 (默認(rèn)為false) |
STORAGE_TYPE |
存儲類型(默認(rèn)為File) |
APP_MODE |
應(yīng)用模式(默認(rèn)為common) |
注意:所有路徑常量都必須以“/”結(jié)尾
例如,我們可以在入口文件中重新定義相關(guān)目錄并且開啟調(diào)試模式:
// 定義應(yīng)用目錄
define('APP_PATH','./Apps/');
// 定義運(yùn)行時(shí)目錄
define('RUNTIME_PATH','./Runtime/');
// 開啟調(diào)試模式
define('APP_DEBUG',True);
// 更名框架目錄名稱,并載入框架入口文件
require './Think/ThinkPHP.php';
這樣最終的應(yīng)用目錄結(jié)構(gòu)如下:
www WEB部署目錄(或者子目錄)
├─index.php 應(yīng)用入口文件
├─Apps 應(yīng)用目錄
├─Public 資源文件目錄
├─Runtime 運(yùn)行時(shí)目錄
└─Think 框架目錄
入口文件中還可以定義一些系統(tǒng)變量,用于相關(guān)的綁定操作(通常用于多個(gè)入口的情況)
更多關(guān)于thinkPHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《ThinkPHP入門教程》、《thinkPHP模板操作技巧總結(jié)》、《ThinkPHP常用方法總結(jié)》、《codeigniter入門教程》、《CI(CodeIgniter)框架進(jìn)階教程》、《Zend FrameWork框架入門教程》及《PHP模板技術(shù)總結(jié)》。
希望本文所述對大家基于ThinkPHP框架的PHP程序設(shè)計(jì)有所幫助。
您可能感興趣的文章:- thinkphp 框架數(shù)據(jù)庫切換實(shí)現(xiàn)方法分析
- Thinkphp 框架配置操作之動態(tài)配置、擴(kuò)展配置及批量配置實(shí)例分析
- Thinkphp 框架配置操作之配置加載與讀取配置實(shí)例分析
- Thinkphp 框架基礎(chǔ)之源碼獲取、環(huán)境要求與目錄結(jié)構(gòu)分析
- Thinkphp 框架擴(kuò)展之驅(qū)動擴(kuò)展實(shí)例分析
- Thinkphp 框架擴(kuò)展之應(yīng)用模式實(shí)現(xiàn)方法分析
- Thinkphp 框架擴(kuò)展之Widget擴(kuò)展實(shí)現(xiàn)方法分析
- Thinkphp 框架擴(kuò)展之行為擴(kuò)展原理與實(shí)現(xiàn)方法分析
- Thinkphp 框架擴(kuò)展之標(biāo)簽庫驅(qū)動原理與用法分析
- 淺談PHP之ThinkPHP框架使用詳解