日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php 追查框架生命周期,ThinkPHP5框架的生命周期:从发出请求到响应完成

發布時間:2023/12/19 php 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php 追查框架生命周期,ThinkPHP5框架的生命周期:从发出请求到响应完成 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

URL請求的生命周期

客戶端通過URL發送訪問請求

服務器端返回請求數據

TP5的生命周期

入口文件-->引導文件-->注冊自動加載-->注冊錯誤和異常機制-->應用初始化-->URL訪問檢測-->路由檢測-->分發請求-->響應輸出-->應用結束

1.入口文件

-1.文件名:index.php;

-2.位置:public/index.php;

-3.用戶通過入口文件,發起服務請求,是整個應用的入口與起點;

-4.任務:定義常量,加載引導文件,不要放任何業務處理代碼;

-5.代碼: //定義項目路徑

define('APP_PATH',DIR.'/../application/');

//加載框架引導文件

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

2.引導文件

-1.文件名:start.php;

-2.位置:thinkphp/start.php;

-.執行: 加載常量-->加載環境變量-->注冊自動加載-->注冊錯誤與異常-->加載管理配置-->執行應用

3.注冊自動加載

-1.類方法:Loader::register();

-2.作用:將所有符號規范的類庫(包括Composer依賴加載的第三方類庫)自動加載;

-3.執行流程: 注冊自動加載方法: think\Loader::autoload --> 注冊系統命名空間 --> 加載類庫映射文件 --> 注冊Composer自動加載 --> 注冊extends擴展目錄

4.注冊錯誤和異常機制

執行Error::register()注冊錯誤和異常處理1機制.

由三部分組成:

-1.應用關閉方法:think\Error::appShutdown

-2.錯誤處理方法:think\Error::appError

-3.異常處理方法:think\Error::appException

5.應用初始化

嚴格意義上講,前面的內容都可算做應用初始化部分:

加載公共配置 --> 加載公共擴展配置 -->加載應用狀態配置 --> 加載別名配置 -->

--> 加載行為定義 --> 加載公共函數文件 -->注冊應用命名空間 --> 加載擴展函數文件 --> 設置默認時區 --> 加載系統語言包

6.URL訪問檢測

URL必須是PATH_INFO格式才允許繼續運行.

1.PATH_INFO標準格式:

http://域名/index.php/模塊名/控制器名/操作名/參數鍵值對

舉例: http://tp5.com/index.php/index/user/add/id/10/name/peter

2.PHTH_INFO兼容格式:

http://域名/index.php?s=/模塊名/控制器名/操作名&參數鍵值對

舉例: http://tp5.com/index.php?s=index/user/add&id=10&name=peter

7.路由檢測

-1.如果開啟了url_route_on參數,則首先進行URL路由檢測;

-2.一旦檢測到匹配的路由,根據路由規則會注冊到相應的URL調度;

-3.TP5支持的路由規則如下:

路由到模塊/控制器/操作;(這是默認路由模式,如果關閉路由或者路由檢測無效則執行該模式)

路由到外部重定向地址;

路由到控制器方法;

路由到閉包函數;

路由到類的方法;

8.分發請求

-1.將用戶請求分發到對應的路由地址,完成應用的業務邏輯并返回數據;

-2.統一使用return返回數據,不要用echo直接輸出;

-3.如非必要,請不要使用exit或者die中斷執行;

-4.分發請求支持TP5的五種路由地址模式:

路由到模塊/控制器/操作; 路由到外部重定向地址; 路由到控制器方法; 路由到閉包函數; 路由到類方法;

9.響應輸出

-1.控制器正常返回的數據通常是:字符串(String)或數組(Array)格式;

-2.統一使用return返回數據,而不是直接輸出,這樣可以自動調用

Response::send()方法將最終的返回數據輸出到頁面或者客戶端,

并自動轉換成default_return_type參數配置的格式(XML,JSON等).

return 'ThinkPHP教學教程';

10.應用結束

-1.響應輸出完成后,應用生命周期基本結束,可以寫日志報告啦;

-2.日志包括二部分:用戶調試輸出和系統自動生成;

-3.日志在應用結束后,自動寫入.

總結:介紹了TP5框架中,一個應用從發出url請求,到正確獲取到響應數據的完整流程.這里只是快速瀏覽,

總結

以上是生活随笔為你收集整理的php 追查框架生命周期,ThinkPHP5框架的生命周期:从发出请求到响应完成的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。