̃Gg[͂ĂȃubN}[Nɒlj

PHP :: phpDocumentor on cygwin



java の javadoc と同じように、php にもソースファイルからリファレンスマニュアルを自動生成してくれる「phpDocumentor」というのがあります。
今回、cygwin上で phpDocumentor を動作させたのですが、プチハマリがあったのでメモ。

アーカイブのダウンロード

http://phpdoc.org/
  • 現在の最新版である「PhpDocumentor-1.4.2.tgz」をDL。

アーカイブを適当な場所で展開

% tar -xvf PhpDocumentor-1.4.2.tgz

PhpDocumentor-1.4.2 というディレクトリが作成されます

% ls -l
total 0
drwxr-xr-x 11 hoge なし 0 Jun 12 18:11 PhpDocumentor-1.4.2/

ディレクトリ内の「phpdoc」が主役のコマンドです

% ls -l PhpDocumentor-1.4.2
total 72

(snip)

-rwxr-xr-x  1 hoge なし  2034 Jun 12 18:43 phpdoc*

(snip)

シンボリックリンクの作成

% ln -s PhpDocumentor-1.4.2/phpdoc ~/bin/phpdoc

早速コマンドを実行してみます

オプションの意味はこちらなどを参考にしてくだい。
他にも「PhpDocumentor オプション」等でググればたくさん解説があります。

% phpdoc -d ~/source -t ./dest -o HTML:Smarty:PHP
FAILED:  Bad environment variable $PHP (set to "/home/hoge/bin/php")

いろいろ試行錯誤しましたが、 FAILED: Bad environment variable $PHP のエラーの連発です。
どうやら cygwin のシンボリックリンクが正しく解決されていない模様。
駄目もとで、ハードリンクを張ってみましたがこちらも同じく撃沈。

結局、以下のように各ディレクトリを配置

シンボリックリンクに頼らず、直接 phpdoc コマンドを呼べるように配置。

% ls -l
total 0
drwxr-xr-x 11 hoge なし 0 Jun 12 18:11 PhpDocumentor-1.4.2/
drwxr-xr-x  2 hoge なし 0 Jun 15 12:30 dest/
drwxr-xr-x  2 hoge なし 0 Jun 15 12:30 source/
  • PhpDocumentor-1.4.2 : phpDocumentor プログラム一式
  • dest : リファレンスマニュアルの生成先ディレクトリ
  • source : リファレンスマニュアルを作成したいソースコード一式

次のコマンドで無事リファレンスマニュアルの生成に成功しました

% PhpDocumentor-1.4.2/phpdoc -t dest -d source -o HTML:Smarty:PHP



programming/php/etc/phpdocumentor_on_cygwin.txt