「phpDocumentor」
インストールからドキュメント生成までをやってみたので簡単にメモ。
phpDocumentorのダウンロード
本家サイト http://phpdoc.org/トップページ右上部にある「Downloads」からソースファイルをダウンロードする。
(20100628現在、1.4.3 が最新)
今回はLinux環境に入れるので PhpDocumentor-1.4.3.tgz をダウンロード。
.zip のほうは改行コードの関係で実行時にエラーが出る。
適当なディレクトリにUpして展開
FTPクライアント(FFFTPなど)や、SCPクライアント(WinSCPなど)を使ってサーバにアップロードする。アップロードできたら、tarコマンドで展開する。
$ tar zxvf PhpDocumentor-x.x.x.tgz
memory_limitの設定
展開するとできる PhpDocumentor-x.x.x ディレクトリの中の phpDocumentor.ini に、memory_limit = 512Mとあるが、コメントアウトされているのでコメントを外し有効にする。
php.ini にも同設定があり、そこで設定してもよい。(デフォルトでは8Mとか16Mになっている)
これをやらないと、対象となるPHPファイルが多い場合にメモリ不足エラーとなる可能性がある。
(※512Mでも足らなくなる可能性はあるが、、)
ドキュメント生成コマンドを実行する
PhoDocumentor-x.x.x ディレクトリの中の phpdoc を実行する。$ phpdoc -t [target_dir] -d [source_dir] -o HTML:Smarty:PHP-t : ドキュメントを生成するディレクトリ
-d : 対象となるPHPのソースコードのあるディレクトリ。配下全てが対象となる。
-o : 出力するテンプレート。HTML、PDFなどから選べる。
その他、いろんなオプションがあるので詳しくは phpDocumentor Tutorial を参照下さい。
実行すると [target_dir] で指定したディレクトリに index.html ができているのでそこから閲覧する。
文字化け対策
-o オプションで HTML:Smarty を指定すると問題なく表示できるが、HTML:frames では文字化けするようだ。PDFなどは未確認。で、phpDocumentor/Converters/HTML/frames/templates 内のテンプレートファイルの charset の値を書き換える。
デフォルトは「iso-8859-1」になっているので、これを自分の環境に合わせて「UTF-8」とか「SHIFT-JIS]とかに変更する。 なぜべた書きされているかがわからん、、
対象ファイルは
- index.tpl
- top_frame.tpl
- blank.tpl
- header.tpl
めんどくさいので sh スクリプトで一発置換。細かい機能は適宜追加してください。
#!/bin/bash for path in `grep -rl 'charset=iso-8859-1' *` do sed -i "s/iso-8859-1/UTF-8/g" $path echo "$path の charset の値を置換しました" done
ドキュメント生成コマンドの sh スクリプト
phpdoc コマンドもいちいち書くのが面倒なので sh スクリプト化した。こんな感じ。#! /bin/sh PhpDocumentor-1.4.3/phpdoc \ -t trunk/..... \ -d trunk/..... \ -i trunk/.....*,trunk/.....,… \ -o HTML:Smarty:PHP \ -ti title \ -s on以上
0 件のコメント:
コメントを投稿