Thinkphp 框架基礎(chǔ)之入口文件功能、定義與用法分析
本文實(shí)例講述了Thinkphp 框架基礎(chǔ)之入口文件功能、定義與用法。分享給大家供大家參考,具體如下:
入口文件
ThinkPHP采用單一入口模式進(jìn)行項(xiàng)目部署和訪問(wèn),無(wú)論完成什么功能,一個(gè)應(yīng)用都有一個(gè)統(tǒng)一(但不一定是唯一)的入口。
應(yīng)該說(shuō),所有應(yīng)用都是從入口文件開(kāi)始的,并且不同應(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
的定義支持相對(duì)路徑和絕對(duì)路徑,但必須以“/”結(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
定義絕對(duì)路徑會(huì)提高系統(tǒng)的加載效率。
入口文件中的其他定義
一般不建議在入口文件中做過(guò)多的操作,但可以重新定義一些系統(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 | 存儲(chǔ)類型(默認(rèn)為File) |
APP_MODE | 應(yīng)用模式(默認(rèn)為common) |
注意:所有路徑常量都必須以“/”結(jié)尾
例如,我們可以在入口文件中重新定義相關(guān)目錄并且開(kāi)啟調(diào)試模式:
// 定義應(yīng)用目錄 define('APP_PATH','./Apps/'); // 定義運(yùn)行時(shí)目錄 define('RUNTIME_PATH','./Runtime/'); // 開(kāi)啟調(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é)》。
希望本文所述對(duì)大家基于ThinkPHP框架的PHP程序設(shè)計(jì)有所幫助。
- thinkphp 框架數(shù)據(jù)庫(kù)切換實(shí)現(xiàn)方法分析
- Thinkphp 框架配置操作之動(dòng)態(tài)配置、擴(kuò)展配置及批量配置實(shí)例分析
- Thinkphp 框架配置操作之配置加載與讀取配置實(shí)例分析
- Thinkphp 框架基礎(chǔ)之源碼獲取、環(huán)境要求與目錄結(jié)構(gòu)分析
- Thinkphp 框架擴(kuò)展之驅(qū)動(dòng)擴(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)簽庫(kù)驅(qū)動(dòng)原理與用法分析
- 淺談PHP之ThinkPHP框架使用詳解
相關(guān)文章
Laravel 5.5 的自定義驗(yàn)證對(duì)象/類示例代碼詳解
Laravel 5.5 將提供一個(gè)全新的自定義驗(yàn)證規(guī)則的對(duì)象,以作為原來(lái)的 Validator::extend 方法的替代。接下來(lái)通過(guò)示例代碼給大家介紹laravel 自定義驗(yàn)證對(duì)象和類,需要的朋友參考下吧2017-08-08詳解PHP內(nèi)置訪問(wèn)資源的超時(shí)時(shí)間 time_out file_get_contents read_file
本篇文章是對(duì)PHP內(nèi)置訪問(wèn)資源的超時(shí)時(shí)間time_out file_get_contents read_file進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06thinkPHP分組后模板無(wú)法加載問(wèn)題解決方法
這篇文章主要介紹了thinkPHP分組后模板無(wú)法加載問(wèn)題解決方法,分析了thinkPHP分組后模板無(wú)法加載的原因與相應(yīng)的設(shè)置方法,需要的朋友可以參考下2016-07-07Redis使用Eval多個(gè)鍵值自增的操作實(shí)例
下面小編就為大家?guī)?lái)一篇Redis使用Eval 多個(gè)鍵值自增的操作實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-11-11PHPExcel讀取Excel文件的實(shí)現(xiàn)代碼
用PHPExcel讀取Excel 2007 或者Excel2003文件,需要的朋友,可以參考下。2011-12-12laravel 配置路由 api和web定義的路由的區(qū)別詳解
今天小編就為大家分享一篇laravel 配置路由 api和web定義的路由的區(qū)別詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-09-09PHP統(tǒng)計(jì)二維數(shù)組元素個(gè)數(shù)的方法
數(shù)據(jù)表里面的字段 content 存儲(chǔ)了一個(gè)以逗號(hào)分割的字符串,最大有20個(gè)數(shù),最大數(shù)字為40。比如3,24,33,40類似字樣的數(shù)字序列。其實(shí)就是一個(gè)保存了多項(xiàng)投票結(jié)果的字段啦?,F(xiàn)在需要統(tǒng)計(jì)每個(gè)數(shù)字的個(gè)數(shù),也就是每個(gè)投票項(xiàng)有多少人投了,并排序2013-11-11調(diào)用WordPress函數(shù)統(tǒng)計(jì)文章訪問(wèn)量及PHP原生計(jì)數(shù)器的實(shí)現(xiàn)
這篇文章主要介紹了調(diào)用WordPress函數(shù)統(tǒng)計(jì)文章訪問(wèn)量及PHP原生計(jì)數(shù)器的實(shí)現(xiàn),文中作者也提到了WordPress中的兩款插件不過(guò)出于性能考慮并不推薦插件方式的實(shí)現(xiàn),需要的朋友可以參考下2016-03-03