PHPxref使用指南
PHPXref是一個十分優(yōu)秀的PHP開發(fā)工具,它能將某一個程序(如Wordpress)中所有的函數(shù)、變量、常量等分類記錄,生成一個HTML網(wǎng)頁列表,你可以輕松地在這個列表中找到某個函數(shù)在什么位置被定義,在什么位置被引用。這一點無論是對于一個Wordpress插件開發(fā)者,還是想學(xué)習研究Wordpress的人都是十分有用的。PHPXref官方有個已經(jīng)制作好的Wordpress的分析文檔:http://phpxref.com/xref/wordpress/,此外,PHPXref還制作了多種PHP程序的分析文檔,有興趣的可以Google站內(nèi)搜索一下。
PHPXref的主要功能包括
1.文件管理。無論要找什么文件,用它能很快地搜索到,如果你的文件中有符合語法規(guī)則的注釋,PHPXref還能將它列在文件名的旁邊,更容易了解這個文件的功能用途,也不用為了找一個文件翻遍整個文件夾,打開每個文件查找注釋了。
2.函數(shù)、變量、常量、類管理。Wordpress內(nèi)置了多種功能強大的函數(shù)、類,無論是字符處理還是遠程URL讀取等都有現(xiàn)成的函數(shù),但我們往往不知道這個函數(shù)能在Wordpress里面找到,現(xiàn)在容易多了,搜索一下就找到了,如果在開發(fā)過程中遇到某個Wordpress函數(shù),不知道它是干什么用的,這時候就得找到這個函數(shù)在哪里定義的,可是Wordpress里面上百個文件上哪找去?還是用PHPXref好了。
3.文件包含管理。Wordpress中需要很多 include,require包含別的文件,但偶爾也會遇到重復(fù)包含導(dǎo)致出錯,雖然require_once可以解決,但我們也最好要了解某個腳本包含了哪些文件,要調(diào)用這個文件時也心中有數(shù)。PHPXref提供了每個文件的包含文件列表和被包含的文件。
4.源代碼高亮。這個功能也是比較實用的,但在實際測試中偶爾會出錯。
5.出色的關(guān)聯(lián)功能。在瀏覽源代碼時,將鼠標指到某個函數(shù)名,就會在鼠標旁邊出現(xiàn)函數(shù)的定義頁面,以及被使用次數(shù),此外,還對使用較多的變量名,也是可以直接有個頁面顯示所有的關(guān)于這個變量的使用情況。
既然PHPxref那么強大,該如何使用呢?
1.首先,從SF下載最新的程序,現(xiàn)在的版本是0.7,下載那個win32的版本就好了。下載后解壓出來。
2.phpxref目錄下有一個 source 的文件夾,這是存放源代碼的文件夾,把另外下載的Wordpress源代碼放到這里來,請注意,不要把 wordpress/這整個目錄放進來,而是里面的文件放進來就行了,確保以 source/index.php,source/wp-content/ ..這樣的格式就行。
3.運行可執(zhí)行文件phpxref.exe ,將進行生成文檔的工作,這個過程大約需要1分鐘左右,由于需要高頻率讀取硬盤和大量計算消耗CPU資源,請暫停其他工作。
4.提示成功后,output 這個目錄下就是所有的文檔了,建議在本地上用XAMPP進行調(diào)試,把整個output 文件夾搬到 xampp的 htdocs 的目錄下,再把名字改為好記的 phpxref ,這樣,就可以通過 http://localhost/phpxref/ 訪問了。效果和 http://phpxref.com/xref/wordpress/ 的是一模一樣,當然,速度快了很多。
PHPXref還提供了在Linux下生成文檔的版本,但我很少用Ubuntu,也沒有去Ubuntu下測試了,我想更多數(shù)人需要的還是Win系統(tǒng)下的,如果有需要,把Win下生成的文檔可以搬到服務(wù)器上去供大家訪問,還可以在頁面下面放點Google Adsense廣告賺點外快。但PHPxref生成的文檔實在太大了,一個1.2MB的Wordpress(壓縮包),解壓后再生成文檔,居然要80多 MB的位置!壓縮完后也需要接近20MB,所以我打消了把它放在自己服務(wù)器上的愿望(說不定制作重復(fù)的鏡像還會被搜索引擎處罰)。
除了用PHPXref來生成已有的Wordpress或其他PHP示范程序(如Discuz)進行學(xué)習外,用PHPXref來生成自己制作的PHP 程序,進行檢驗錯誤或者是整理代碼資源也很有用。我從學(xué)PHP至今大概寫過5個比較大型的程序(我認為算比較大型了,但沒有一個是成型的商業(yè)產(chǎn)品),幾乎也是寫了5次的郵件地址驗證函數(shù),用戶名驗證函數(shù),密碼驗證函數(shù),MySQL類…看來還得用PHPXref來整理資源了。
在使用PHPxref之前,我還讀過awflasher.com提供的簡介,特此感謝。
