題主是一枚實習生,現在在一家公司做後台維護和二次開發。
公司的後台和訂單系統什麼的都是用ThinkPHP開發的,東西很多。
有點不知道如何下手去搞清楚這套系統的架構,資料庫那邊也是挺亂的(畢竟是ThinkPHP嘛)
目前,寫了個小指令碼,基於PHP的反射類,可以一鍵統計出當前模組下所有控制器的方法(包括protected方法)。
我現在是應該繼續這樣一個一個控制器的分析下去,還是點開網站,從流程開始分析呢?
或者是否有其它更好的分析思路?
希望各位前輩能指點一二
回複內容:
題主是一枚實習生,現在在一家公司做後台維護和二次開發。
公司的後台和訂單系統什麼的都是用ThinkPHP開發的,東西很多。
有點不知道如何下手去搞清楚這套系統的架構,資料庫那邊也是挺亂的(畢竟是ThinkPHP嘛)
目前,寫了個小指令碼,基於PHP的反射類,可以一鍵統計出當前模組下所有控制器的方法(包括protected方法)。
我現在是應該繼續這樣一個一個控制器的分析下去,還是點開網站,從流程開始分析呢?
或者是否有其它更好的分析思路?
希望各位前輩能指點一二
先從分析檔案開始,哪些業務是哪些頁面控制器主要用到哪些表。
一開始沒必要所有的檔案所有的方法都去看,也沒法看的懂
我是這麼想的,先學著仿那些簡單的業務和表,就是那種簡單的增刪改查。
接著進階就是研究那些封裝好的東西,怎麼調用,還有都處理了什麼業務,用了哪些表。
帶著需求或問題找答案吧,不然這麼美好的冬日午後是不是會打著瞌睡迷迷糊糊地就過去了呢。
類裡面的方法不是所有的都是有用的。
另外,弄清楚你自己的目標,熟悉公司的業務還是搞明白TP這個架構本身。
流程開始分析
開啟xdebug,選擇你想知道的功能,點擊,一步一步跟下去。還有最好知道每張表,每個欄位是幹什麼的,多問問同事自己瞎折騰效率比較低。
不用分析,大致看看就行。有具體需求再去分析。或者你覺得哪裡實現的不好,自己寫套代碼給它替換掉。就行了
根據商務程序走可能熟悉起來比較快,大致看一下代碼。然後看看流程,不用細看,具體要用到的時候再去深挖
建議樓主分兩塊走
1.根據現有TP版本瞭解TP架構的基本文法以及用法
2.向老員工請教一些業務相關的東西 比如那個工程是負責哪個模組的 然後 按照商務程序 走一遍程式 這樣在發現問題時候能夠快速定位 不至於現查現找
我想問的是有交接給你文檔嗎?接手一個項目的話最好照著文檔執行一篇大概構想下實現思路然後在去找對應程式碼分析,流程分析一遍,你系統也熟了,TP也熟了。
1.熟悉商務程序
2.通讀ThinkPHP的手冊
1.熟悉系統商務程序
2.熟悉thinkphp
3.熟悉php
先分析項目需求並熟練任務流程
還有不是架構的問題 架構只是協助你加快開發速度 主體還是php和mysql,
表的關係和是否是tp沒有任何關係。
或者先整理下 表結構