對(duì)ThinkPHP 5.0 的應(yīng)用請(qǐng)求的生命周期做大致的介紹
1、入口文件
一般入口文件以定義一些常量為主火诸,比如項(xiàng)目目錄和框架目錄
2、加載框架引導(dǎo)文件
接下來(lái)就是執(zhí)行框架的引導(dǎo)文件术吝, start.php 文件就是系統(tǒng)默認(rèn)的一個(gè)引導(dǎo)文件勾效。在引導(dǎo)文件中,會(huì)依
次執(zhí)行下面操作:
加載系統(tǒng)常量定義嵌器;
加載環(huán)境變量定義文件肛真;
注冊(cè)自動(dòng)加載機(jī)制;
注冊(cè)錯(cuò)誤和異常處理機(jī)制爽航;
加載慣例配置文件蚓让;
執(zhí)行應(yīng)用;
start.php 引導(dǎo)文件首先會(huì)調(diào)用 base.php 基礎(chǔ)引導(dǎo)文件讥珍,某些特殊需求下面可能直接在入口文件中
引入基礎(chǔ)引導(dǎo)文件历极。
3、注冊(cè)自動(dòng)加載
系統(tǒng)會(huì)調(diào)用 Loader::register() 方法注冊(cè)自動(dòng)加載衷佃,在這一步完成后趟卸,所有符合規(guī)范的類庫(kù)(包括Composer 依賴加載的第三方類庫(kù))都將自動(dòng)加載。
4、注冊(cè)錯(cuò)誤和異常機(jī)制
執(zhí)行 Error::register() 注冊(cè)錯(cuò)誤和異常處理機(jī)制锄列。
5图云、應(yīng)用初始化
6、URL訪問(wèn)檢測(cè)
7邻邮、路由檢測(cè)
8竣况、分發(fā)請(qǐng)求
在完成了URL檢測(cè)和路由檢測(cè)之后,路由器會(huì)分發(fā)請(qǐng)求到對(duì)應(yīng)的路由地址筒严,這也是應(yīng)用請(qǐng)求的生命周期中
最重要的一個(gè)環(huán)節(jié)丹泉。
在這一步驟中,完成應(yīng)用的業(yè)務(wù)邏輯及數(shù)據(jù)返回鸭蛙。
9摹恨、響應(yīng)輸出
10、應(yīng)用結(jié)束