官網(wǎng)地址:http://www.phpdoc.org/
項(xiàng)目地址:https://github.com/phpDocumentor/phpDocumentor2
phpDocumentor 2是一個(gè)可以 分析php源代碼和注釋塊并生成文檔的程序。
基于phpdocumentor 1和javadoc啟發(fā)而來(lái),它持續(xù)創(chuàng)新的使用了一些新技術(shù)和支持php的新特性。
phpDocumentor 2的特點(diǎn):
兼容php5.3,全面支持命名空間和閉包等。
識(shí)別支持任何tag,以及一些追加的 (比如 @link).
更快的處理速度。 較 phpDocumentor 1在Zend Framework 下的處理耗時(shí)有了明顯的減少。
低內(nèi)存消耗,小中大型工程的內(nèi)存消耗分別低于20MB,40MB和100MB。
增量解析。如果你有之前運(yùn)行phpdoc獲得的structure.xml文件,那么小修改后重新生成文檔的速度將提升80%。
簡(jiǎn)單就能創(chuàng)建模板,只需1小步和編輯3個(gè)文件。
兼容1代的命令行。例如 --directory, --file and --target
兩步式處理。首先生成structure文件,你可以根據(jù)這個(gè)文件來(lái)格式化相關(guān)信息,用自己的工具來(lái)展現(xiàn)信息!
安裝需求:
PHP 5.3.3 or higher
ext/iconv, http://php.net/manual/en/book.iconv.php (從PHP 5.0.0版本起,默認(rèn)開(kāi)啟)
ext/intl, http://php.net/manual/en/book.intl.php
The XSL extension, http://www.php.net/manual/en/book.xsl.php (可選,只在使用xsl的模板時(shí)使用)
Graphviz (可選,用來(lái)生成類(lèi)圖)
安裝phpDocumentor 2
1.依賴(lài)于 pear 進(jìn)行安裝:
下載 pear http://pear.php.net/go-pear.phar
將 go-pear.phar 放到 PHP 目錄下
執(zhí)行安裝命令:
php go-pear.phar
下面會(huì)執(zhí)行輸入 system
然后一路回車(chē)安裝完畢
2.接下來(lái)安裝類(lèi)關(guān)系繪圖用到的工具:
pear install image_graphviz
下載 http://www.graphviz.org/Download_windows.php graphviz-2.38.msi
安裝后,注意查看環(huán)境變量 path 中是否已添加上該 bin 的路徑,
下面很重要的一步:重啟電腦,否則無(wú)法生效
3.安裝 phpDocumentor
pear channel-discover pear.phpdoc.org //注冊(cè)channel
pear remote-list -c phpdoc //列出可以獲得的版本
pear install phpdoc/phpDocumentor //安裝phpDocumentor
詳情參考:http://pear.phpdoc.org/
安裝步驟完成!
提示下:
兩個(gè)軟件安裝后的目錄都在PHP 下的 pear 下面:
php/pear/PhpDocumentor
php/pear/Image
使用PhpDocumentor 2
下面開(kāi)始生成項(xiàng)目文檔:
在PHP根目錄下:
phpdoc -d 項(xiàng)目絕對(duì)路徑 -t 生成的文檔存放的路徑
d代表路徑directory,t代表target。或者可以選擇-f來(lái)指定單個(gè)文件。制定好路徑稍等片刻執(zhí)行完畢就可以在target文件夾里看到說(shuō)明文檔了。
例子:
phpdoc -d E:\bak\video\code -t E:\bak\video\code\doc
E:\bak\video\code 為php代碼的文件夾
E:\bak\video\code\doc 為生成文檔的文件夾
具體的參數(shù)如下:
project:run [-t|--target[="..."]] [-f|--filename[="..."]] [-d|--directory[="..."]] [-e|--extensions[="..."]] [-i|--ignore[="..."]] [--ignore-tags[="..."]] [--hidden] [--ignore-symlinks] [-m|--markers[="..."]] [--title[="..."]] [--force] [--validate] [--visibility[="..."]] [--defaultpackagename[="..."]] [--sourcecode] [-p|--progressbar] [--template[="..."]] [--parseprivate] [-c|--config[="..."]]