PHP文档工具_PHP

Jun 01, 2016 pm 12:41 PM
phpdocumentor できる 道具 私たち 書類 生成する

写文档是一项乏味却不得不做的工作,而编写API级的文档更是意味着大量的重复劳动和难以保持的一致性。这里我们要推荐给大家的,是支持PHP5语法分析的文档工具——phpDocumentor。

使用phpDocumentor不仅可以自动从代码中提取出函数和方法定义,还可以自动处理各个class之间的关系,并据此生成class tree。你还可以选择将文档生成html、chm或者pdf。有了phpDocumentor,文档工作变得轻松了很多。



安装phpDocumentor

在pear下安装phpDocumentor是一件极其简单的事情,只需要在cmd窗口中cd 到php安装目录下,然后输入

Pear install phpDocumentor


Pear就会自己下载并完成phpDocumentor的安装。

在phpDocumentor成功安装后,php安装目录下会多出来一个phpdoc.bat。这个文件就是我们用来生成文档的批处理文件了。

相关知识 ?>

phpDocumentor是phpDoc的升级版本,是专门为支持php5语法而重写的文档工具,当你的php版本为5时,运行phpDoc.bat,它会自动去调用phpDocumentor。所以文章中的提到的phpDoc和phpDocumentor实际上是相同的。




在phpdoc.bat所在目录下,输入

Phpdoc –h


会得到一个phpDocumentor的详细参数列表。

我们从其中选出几个常用的来看看:

命令解释 ?>

-f
要进行分析的文件名,多个文件用逗号分割

-d
要分析的目录,多个目录用逗号分割

-t
生成的文档的存放路径

-o
输出的文档格式,结构为输出格式:转换器名:模版目录,例如:HTML:frames:phpedit




我们会用到的就这几个了,其他的命令请大家阅读help的提示信息。



试用phpDocumentor

下面我们就以pear中的phpUnit2为例,演示一下如何使用phpDocumentor来生成文档。

首先,把我们需要的参数确定下来:

命令参数 ?>

-d
C:\Program Files\EasyPHP5\php\PEAR\PHPUnit2

-t
C:\Program Files\EasyPHP5\php\phpunit2doc

-o
HTML:frames:phpedit


根据上边的参数,我们组合出下边的命令:

Phpdoc -d “C:\Program Files\EasyPHP5\php\PEAR\PHPUnit2” -t “C:\Program Files\EasyPHP5\php\phpunit2doc” -o “HTML:frames:phpedit”


运行上边的命令后,phpDocumentor开始解析源文件并输出工作信息。




命令运行完成后,我们的文档就已经生成好了。 进入我们指定的目标目录,用浏览器打开index.html就可以看见生成的文档了。 文档界面由frame分成了三个部分,左上是包信息,左下是导航信息,右边则是详细的信息呈现页。




上边的图很清楚地描述出了文档的内容:

索引、函数列表、类列表、文件列表和子包。

点击上边的class(es)链接,我们可以清晰的看见整个包的class tree。




我们点击其中一个class,就进入了class的描述页面。

Class描述页面主要包含以下几方面内容:



l 描述:版权、作者、类层次等

l 类变量

l 类常量

l 方法

l 继承的变量

l 继承的方法:非常有用的一个功能






怎么样,是不是很详细呢?如果要生成chm,可以把前边的-o参数改为”CHM:default: default”,这样phpDocumentor会为你生成好chm项目文件,只要用微软的chm工具进行编译就可以得到可用的chm文件了。



用phpDocumentor为自己的代码生成文档

虽然phpDocumentor可以自动从代码中分析出一些信息,但是,要形成一份详尽的文档还是需要我们在编码中进行配合的。为了让phpDocumentor读懂我们的代码,我们需要注意一些编码规范和在注释中增加一些tag:



Tags ?>

@author
作者信息

@const
由define定义的常量

@deprecate
不建议使用的API

@global
全局变量

@package
包信息

@param
函数参数

@return
返回值

@see
参考函数

@since
引入时间

@static
静态变量

@var
类成员变量




这里只是简单的列出了常用的一些Tag,大家可以阅读phpDocumentor的文档,里边有非常详细的编码规范。关于phpDocumento就介绍到这里,希望大家都能好好利用这个工具来规范自己的文档。



PS:phpDocumentor也有Web界面的,你可以访问http://phpdoc.org获取Web版本。Web版本的安装很简单,直接放到web可以访问的目录就可以运行了。



环境要求 ?>

PHP:5.0.0

OS: 平台独立,本文演示OS为windows

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

GOのどのライブラリが大企業によって開発されていますか、それとも有名なオープンソースプロジェクトによって提供されていますか? GOのどのライブラリが大企業によって開発されていますか、それとも有名なオープンソースプロジェクトによって提供されていますか? Apr 02, 2025 pm 04:12 PM

大企業または有名なオープンソースプロジェクトによって開発されたGOのどのライブラリが開発されていますか? GOでプログラミングするとき、開発者はしばしばいくつかの一般的なニーズに遭遇します...

Avue-Crudの行編集モードでセルのOnblurイベントを手動でトリガーする方法は? Avue-Crudの行編集モードでセルのOnblurイベントを手動でトリガーする方法は? Apr 04, 2025 pm 02:00 PM

AvueコンポーネントライブラリでAvue-Crudの行編集を実装するOnblurイベントは、Avue-Crudコンポーネントを手動でトリガーします。便利なインライン編集機能を提供しますが、時にはする必要があります...

Giteeページ静的なWebサイトの展開に失敗しました:単一のファイル404エラーをトラブルシューティングと解決する方法 Giteeページ静的なWebサイトの展開に失敗しました:単一のファイル404エラーをトラブルシューティングと解決する方法 Apr 04, 2025 pm 11:54 PM

GiteEpages静的Webサイトの展開が失敗しました:404エラーのトラブルシューティングと解像度Giteeを使用する

AIツールを使用して、React Viteプロジェクトでフォアグラウンドページをすばやく構築するにはどうすればよいですか? AIツールを使用して、React Viteプロジェクトでフォアグラウンドページをすばやく構築するにはどうすればよいですか? Apr 04, 2025 pm 01:45 PM

バックエンド開発でフロントエンドページをすばやく構築する方法は? 3年または4年の経験を持つバックエンド開発者として、彼は基本的なJavaScript、CSS、HTMLを習得しました...

ブラウザ埋め込みスクリプトを使用して、Webページ要素の操作と数値計算を自動化する方法は? ブラウザ埋め込みスクリプトを使用して、Webページ要素の操作と数値計算を自動化する方法は? Apr 04, 2025 pm 12:09 PM

Webページの自動化と数値計算:ブラウザー埋め込みスクリプトに基づく実装この記事では、ブラウザ組み込みスクリプトを使用してWebページ要素の操作と数字を実装する方法を探ります。

GOフレームワークの現在のオーディエンスステータスは何ですか? GRPCまたはGozeroを選択するためのさまざまなビジネスのニーズにより適していますか? GOフレームワークの現在のオーディエンスステータスは何ですか? GRPCまたはGozeroを選択するためのさまざまなビジネスのニーズにより適していますか? Apr 02, 2025 pm 03:57 PM

現在のGOプログラミングエコシステムにおけるGOフレームワークのオーディエンスステータスの分析では、開発者はビジネスニーズを満たすために適切なフレームワークを選択することに直面しています。今日私たち...

JavaScriptプラグインを使用して、ページ固定と要素の独立した動きの効果を実現する方法は? JavaScriptプラグインを使用して、ページ固定と要素の独立した動きの効果を実現する方法は? Apr 04, 2025 pm 12:51 PM

Webデザインの独立して移動するスクロールバーと要素のページの修正効果を実装すると、特別な効果を達成する必要がある場合があります。つまり、スクロールバーがスクロールするときに...

Chrome DevtoolsでリクエストされたCookieを効果的に変更および再生する方法は? Chrome DevtoolsでリクエストされたCookieを効果的に変更および再生する方法は? Apr 04, 2025 pm 05:48 PM

Chromeを使用してChromedevtoolsでリクエストされたCookieを効果的に変更および再生する方法...

See all articles