thinkphp5的生命週期

2022-06-19 17:09:17 字數 1545 閱讀 7637

1、入口檔案

虛擬主機目錄/public/index.php

2、引入啟動檔案

虛擬主機目錄/thinkphp/start.php

// 應用入口檔案

index.php

// 定義專案路徑

// 載入框架引導檔案

require __dir__ . '/../thinkphp/start.php';

接下來就是執行框架的引導檔案,start.php檔案就是系統預設的乙個引導檔案。在引導檔案中,會依次執行下面操作:

系統會呼叫loader::register()方法註冊自動載入,在這一步完成後,所有符合規範的類庫(包括composer依賴載入的第三方類庫)都將自動載入。

執行error::register()註冊錯誤和異常處理機制。

在整個應用請求的生命週期過程中,如果丟擲了異常或者嚴重錯誤,均會導致應用提前結束,並響應輸出異常和錯誤資訊。

執行應用的第一步操作就是對應用進行初始化,包括:

應用初始化完成後,就會進行url的訪問檢測,包括path_info檢測和url字尾檢測。

所以,如果你的環境只能支援普通方式的url引數訪問,那麼必須使用

路由位址可能會受網域名稱繫結的影響。

在完成了url檢測和路由檢測之後,路由器會分發請求到對應的路由位址,這也是應用請求的生命週期中最重要的乙個環節。

在這一步驟中,完成應用的業務邏輯及資料返回。

建議統一使用return返回資料,而不是echo輸出,如非必要,請不要使用exit或者die中斷執行。

直接echo輸出的資料將無法進行自動轉換響應輸出的便利。

除了以上方式外,還支援分發請求到類的方法,包括:

靜態方法:'blog/:id'=>'\org\util\blog::read'

控制器的所有操作方法都是return返回而不是直接輸出,系統會呼叫response::send方法將最終的應用返回的資料輸出到頁面或者客戶端,並自動轉換成default_return_type引數配置的格式。所以,應用執行的資料輸出只需要返回乙個正常的php資料即可。

事實上,在應用的資料響應輸出之後,應用並沒真正的結束,系統會在應用輸出或者中斷後進行日誌儲存寫入操作。

系統的日誌包括使用者除錯輸出的和系統自動生成的日誌,統一會在應用結束的時候進行寫入操作。

而日誌的寫入操作受日誌初始化的影響。

5 軟體的生命週期

1 客戶問題引入或定義 假如有個電商平台需要大家去實現一下 咱們技術團隊需要派產品經理和客戶去進行對接洽談 因為裡面涉及到有哪些功能 可以實現哪些功能不可能實現 2 可行性分析 涉及經濟 商業論證 政治,法律,技術等 假如接了乙個專案30萬 能不能掙錢 因為在開發實現的過程當中需要投入人力 物力 財...

React 生命週期 生命週期方法

生命週期 掛載 更新 解除安裝 元件被建立 執行初始化 並被掛載到dom中,完成元件的第一次渲染 constructor props getderivedstatefromprops props,state render componentdidmount 元件被建立時會首先呼叫元件的構造方法,接受...

actived生命週期 Vuejs 生命週期

每個 vue 例項在被建立時都要經過一系列的初始化過程。如需要設定資料監聽 編譯模板 將例項掛載到 dom 並在資料變化時更新 dom 等。同時在這個過程中也會執行一些叫做生命週期鉤子的函式,這給了使用者在不同階段新增自己的 的機會。乙個 vue 例項 我們建立乙個 vue 例項,並在每個階段驗證 ...