學(xué)習(xí)php開源項(xiàng)目的源碼指南
一。先把源代碼安裝起來(lái),結(jié)合它的文檔和手冊(cè),熟悉其功能和它的應(yīng)用方式。
二。瀏覽源代碼的目錄結(jié)構(gòu),了解各個(gè)目錄的功能。
三。經(jīng)過以上兩步后相信你對(duì)這個(gè)開源的產(chǎn)品有了一個(gè)初步的了解了,那現(xiàn)在就開始分析它的源碼吧。這一步我們開始分析源代碼框架。例如入口方式是單入口還是多入口,頁(yè)面之間的調(diào)用規(guī)則,能根據(jù)規(guī)則找出某個(gè)功能用到的頁(yè)面。
四。熟悉源代碼的代碼寫作風(fēng)格,例如縮進(jìn)方式,排版格式等。
五。熟悉一下源代碼用到的數(shù)據(jù)庫(kù)和表,可以參考它的技術(shù)支持文檔。
六。經(jīng)過以上幾步相信大家已經(jīng)對(duì)這份源代碼有了更深刻的了解,不過這種了解還只是表面的,下來(lái)我們從6個(gè)方面具體的去分析它吧:
1.入口構(gòu)造以及頁(yè)面調(diào)用方式的具體實(shí)現(xiàn),如果閱讀時(shí)看到工具類和工具函數(shù),盡量去熟悉一下。這一步的分析可以學(xué)習(xí)到源代碼的系統(tǒng)架構(gòu)方式。
2.分析源代碼用到的工具類和工具函數(shù),這樣可以學(xué)到很多程序編寫技巧??梢蕴嵘约壕幊坦αΑ?
3.結(jié)合一些安全規(guī)則,研究這個(gè)源代碼是怎樣實(shí)現(xiàn)安全方面的設(shè)計(jì)的。這樣可以提高自己在安全方面的意識(shí)和功力。
4.如果有模板引擎的話,研究一下源代碼的模板引擎。大致從實(shí)現(xiàn)方式,效率,易用性等幾個(gè)方面去考慮。
5.研究系統(tǒng)的各個(gè)功能模塊,這樣既能學(xué)習(xí)編程技巧還能打開自己的編程思路,下次遇到類似的東東就心里有譜了。
6.研究系統(tǒng)所用到設(shè)計(jì)模式,一樣的功能實(shí)現(xiàn),用到的設(shè)計(jì)模式可能相差很多,對(duì)比我們之前所作的東東分析設(shè)計(jì)模式,是提升我們駕馭代碼的不二法門。
7.研究源代碼對(duì)訪問壓力,執(zhí)行效率,系統(tǒng)效率,數(shù)據(jù)庫(kù)查詢的優(yōu)化。
以上是個(gè)人的一些經(jīng)驗(yàn)總結(jié),這里拋磚引玉一下,大家有什么更好的方法,還請(qǐng)告之一下。
相關(guān)文章
PHP fgetcsv 定義和用法(附windows與linux下兼容問題)
PHP fgetcsv() 函數(shù)從文件指針中讀入一行并解析 CSV 字段。與PHP fgets() 類似,不同的是 PHP fgetcsv() 解析讀入的行并找出 CSV 格式的字段,然后返回一個(gè)包含這些字段的數(shù)組2012-05-05
PHP 反射機(jī)制實(shí)現(xiàn)動(dòng)態(tài)代理的代碼
通過代理類ClassOneDelegator來(lái)代替ClassOne類來(lái)實(shí)現(xiàn)他的方法。2008-10-10
PHP網(wǎng)絡(luò)安全之命令執(zhí)行漏洞及防御
這篇文章主要介紹了PHP命令執(zhí)行漏洞及防御,網(wǎng)絡(luò)安全越來(lái)越受重視的今天,漏洞與防御都需要有所了解,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-07-07
PHP實(shí)現(xiàn)駝峰樣式字符串(首字母大寫)轉(zhuǎn)換成下劃線樣式字符串的方法示例
這篇文章主要介紹了PHP實(shí)現(xiàn)駝峰樣式字符串(首字母大寫)轉(zhuǎn)換成下劃線樣式字符串的方法,涉及php正則替換相關(guān)操作技巧,需要的朋友可以參考下2017-08-08
PHP設(shè)計(jì)模式之抽象工廠模式實(shí)例分析
這篇文章主要介紹了PHP設(shè)計(jì)模式之抽象工廠模式,結(jié)合實(shí)例形式分析了php抽象工廠模式的概念、原理、使用方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2019-03-03
PHP 在5.1.* 和5.2.*之間 PDO數(shù)據(jù)庫(kù)操作中的不同之處小結(jié)
今天發(fā)現(xiàn)php5.1.*和php5.2.*在數(shù)據(jù)庫(kù)預(yù)編譯代碼執(zhí)行的時(shí)候出現(xiàn)差異2012-03-03

