tp5生命週期

tp5生命週期:php

  入口文件-》引導文件-》註冊自動加載-》thinkphp

  註冊錯誤和異常機制-》應用初始化-》url訪問檢測-》json

  路由檢測-》分發請求-》響應輸出-》應用結束閉包

入口文件:app

  文件名:index.phpcomposer

  位置:public/index.php;函數

  用戶經過入口文件,發送服務請求,是整個應用的入口和起點ui

  任務:定義常量,加載引導文件,不要聽任何業務處理代碼url

  代碼:define('APP_PATH'.__DIR__.'/../application/');xml

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

引導文件:

  文件名:start.php;

  位置:thinkphp/start.php;

  執行:加載常亮->加載環境變量->註冊自動加載->註冊錯誤與異常->加載慣例配置->執行應用

註冊自動加載:

  類方法:Loader::register();

  做用:將全部符合規範的類庫自動加載

  執行流程:註冊自動加載方法->註冊系統命名空間->加載類庫映射文件->註冊composer自動加載->註冊extend擴展目錄

註冊錯誤和異常機制:

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

  應用關閉方法:think\Error::appShutdown

  錯誤處理方法:think\Error::appError

  異常處理方法:think\Error::appException

應用初始化:

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

URL訪問監測:

  URL必須是PATH_INFO格式踩容許進行運行。

  PATH_INFO標準格式:

  http://域名/index.php/(模塊名)index/(控制器)user/(方法名)add/id/10/name/jack(參數鍵值對)

  PATH_INFO兼容格式:

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

路由檢測:

  路由規則:

  路由到模塊/控制器/方法(默認模式)

  路由到外部重定向地址

  路由到控制器方法

  路由到閉包函數

  路由到類的方法

分發請求:

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

  統一使用return返回數據,不用echo直接輸出、

  若是非必要不要用exit或者die中斷

  分發請求的五種路由地址模式:

    路由到模塊/控制器/方法(默認模式)

    路由到外部重定向地址

    路由到控制器方法

    路由到閉包函數

    路由到類的方法

響應輸出:

  控制器正常返回的數據一般是String或者、Array的格式

  統一使用return返回數據,不是直接輸出,這樣能夠自動調用Response::send()方法將最終的返回數據輸出到頁面或者客戶端。並自動轉換稱default_return_type參數設置的格式(xml,json等)

相關文章
相關標籤/搜索