thinkphp5學習筆記(一)

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.日志在應用結束后,自動寫入。
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,321評論 6 543
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,559評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,442評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,835評論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,581評論 6 412
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,922評論 1 328
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,931評論 3 447
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 43,096評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,639評論 1 336
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,374評論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,591評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,104評論 5 364
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,789評論 3 349
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,196評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,524評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,322評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,554評論 2 379