thinkphp5學習
目錄 命名都是小寫字母 或者 小寫字母+下劃線 eg: user/user_type
類文件(駝峰法) 命名空間與文件真實路徑完全一致 app\index\controller
類名與文件名保持一致(首字母大寫) User.php中只有User類
其他文件 匈牙利命名法 小寫字母/小寫字母+下劃線 eg: list.php/list_user.php
函數 匈牙利命名法(小寫字母+下劃線) eg:get_user_type()
類的方法 駝峰法(首字母小寫) eg:getName()
類的屬性 駝峰法(首字母小寫) eg:userType
魔術方法 雙下劃線開頭+駝峰命名法 eg:__set()
常量 匈牙利命名法 大寫字母+下劃線 eg:APP_PATH
配置參數 匈牙利命名法 小寫字母+下劃線 eg:url_route_on
數據表 匈牙利命名法 小寫字母+下劃線 eg:tp5_staff
字段表 匈牙利命名法 小寫字母+下劃線,前綴用表名 eg:staff_name
模型
1.模型通常對應整個應用,因此模型通常在應用(application)目錄下創建
2.模型返回的數據,通常是數組 或 字符串
3.模型支持分層操作,例如將模型層分為邏輯層/服務層/事件層。
視圖
1.模板目錄可以動態設置
TP5的生命周期
入口文件 -> 引導文件 -> 注冊自動加載 -> 注冊錯誤和異常機制 -> 應用初始化 ->
url訪問檢測 -> 路由檢測 -> 分發請求 -> 響應輸出 -> 應用結束
一、入口文件
1.任務:定義常量,加載引導文件,不要放任何業務處理代碼
二、引導文件
1.thinkphp/start.php
2.執行: 加載常量 -> 加載環境變量 -> 注冊自動加載 -> 注冊錯誤與異常 -> 加載慣例配置 -> 執行應用
3.base.php 定義了大量的變量
三、注冊自動加載
1.類方法: Loader::register();
2.作用:將所有符合規范的類庫(包括Composer依賴加載的第三方類庫)自動加載;
3.執行流程:
注冊自動加載方法:\think\Loader::autoload -> 注冊系統命名空間 -> 加載類庫映射文件 ->
注冊Composer自動加載 -> 注冊extend擴展目錄
四、注冊錯誤和異常機制
執行Error::register()注冊錯誤和異常處理機制
有三部分組成
1.應用關閉方法:think\Error::appShutdown
2.錯誤處理方法:think\Error::appError
3.異常處理方法:think\Error::appException
五、應用初始化
嚴格意義上,前面的內容都可算做應用初始化部分:
加載公共配置 -> 加載公共擴展配置 -> 加載應用狀態配置 -> 加載別名定義 -> 加載行為定義 ->
加載公共函數文件 -> 注冊應用命名空間 -> 加載擴展函數文件 -> 設置默認時區 -> 加載系統語言包
六、URL訪問檢測
URL必須是PATH_INFO格式才允許繼續運行
PATH_INFO兼容格式
七、路由檢測
1.如果開啟了url_route_on參數,則首先進行URL路由檢測
2.一旦檢測到匹配的路由,根據路由規則會注冊到響應的URL調度
3.TP5支持的路由規則:
路由到模塊/控制器/操作 這是默認路由模式,如果關閉路由或路由檢測無效則執行該模式
路由到外部重定向地址
路由到控制器方法
路由到閉包函數
路由到類的方法
八、分發請求
1.將用戶請求分發到對應的路由地址,完成應用的業務邏輯并返回數據
2.統一使用return返回數據,不要用echo直接輸出
3.如非必要,請不要使用exit或者die中斷執行
4.分發請求支持TP5的五種路由地址模式
九、響應輸出
1.控制器正常返回的數據通常是:字符串或數組格式
2.統一使用return返回數據,而不是直接輸出,這樣可以自動調用Response::send()方法
將最終的返回數據輸出到頁面或客戶端,并自動轉換成default_return_type參數配置的格式(XML,JSON等)。
十、應用結束
1.響應輸出完成后,應用生命周期基本結束,可以寫日志報告
2.日志包括兩部分:用戶調試輸出和系統自動生成
3.日志在應用結束后,自動寫入。
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。