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