PHP/phpdocumentorについて

Last-modified: 2010-10-26 (火) 14:13:11

スタイルの変更

どのようなスタイルがあるのか?

見た目の一覧は、
http://fro.blog.so-net.ne.jp/2007-03-10
が写真付きで詳しい。
HTML:frames:DOM/earthli が見やすいか?

スタイルを変更するときは、-oオプションを付ける

phpdocコマンドを使用するとき、
XXX:YYY:ZZZの前に-oオプションを忘れがちなので、注意!

-oを忘れると、何を指定しても、HTMLのデフォルトのスタイルが作られる。

PDFやCHMを指定したのに、できていないときは、-oを忘れていないかチェック!

CHMが生成されないとき

オプション(-o)を忘れているほかに、エラーが発生した場合もCHMは生成されない。
PDFやHTMLはエラーが発生しても、とりあえず作ってくれるのに対して、CHMは一切、できない。

注意

直でCHMは生成されない
エラーが出なければ)hhpファイルが生成されるので、HTML Help Workshopで読み込んで、
コンパイルすればCHMが完成する。

こんなエラーが出たら、設定が必要

Warning: strftime() [function.strftime]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Asia/Tokyo' for '9.0/no DST' instead in C:\わーくすぺーす\libs\Smarty_Compiler.class.php on line 400

 
みたいないエラーが出たら、php.iniにタイムゾーンの設定をしないとだめ。
http://d.hatena.ne.jp/ema725/20091220/1261321582
 
date.timezone = Asia/Tokyo

文字化け対策について

文字化けしないものもある

HTML:Smarty:PHPのみデフォルトで文字化けしない

文字化けの直し方

HTMLの場合

文字コードを決めているheader.tplは、
C:\php\data\PhpDocumentor\phpDocumentor\Converters
の数階層下のtemplatesディレクトリ中にある。
 
C:\php\PEAR\PhpDocumentor\phpDocumentor\Converters
というフォルダもあるが、ここにはない(紛らわしい)
 
このheader.tplのcharset=iso-8859-1をshift-jisなどに変更する。
最上段にencodingというのもあって、ここにもiso-8859-1が指定されているので変えておく。
 
※ちゃんと該当するtemplateを変えておくこと。
 たとえば、-oオプションにHTML:frames:earthliを指定するのならば、
 上記フォルダ>HTML>frames>templates>earthli>templatesの中にある
 header.tplを変える。
 -oオプションの後の指定は、フォルダの構造と一致しているので対応したheader.tplを修正する。

PDFの日本語化

日本語には非対応なようだ。
http://www.zend.co.jp/tech/index.php?cmd=read&page=Zend%C0%BD%C9%CA%2F%B5%EC%C0%BD%C9%CA%2FZend%20Studio%204.0%2F%A5%A4%A5%F3%A5%B9%A5%C8%A1%BC%A5%EB%B8%E5%A4%CE%C0%DF%C4%EA
余談だが、これはZend Studioのページで、Zend Studioは対応していますよ!ということをうたっているのだが、
Zend Studioは、シェアウェア試用不可:41,790円(税込)
 
パッチなどあればいいのだが、見つけられなかった。

CHMの場合

chm:default:* - output is CHM, compiled help file format (Windows help).
  CHM:default:default - Windows help file, based on HTML:frames:l0l33t
とあるので、lol33tを日本語化すればいいのかな??

見つけたPHPドキュメンタまとめ

phpDocumentor

pearコマンドでインストールできる。PDFは日本語は対応していない
CHMは未コンパイルで出てくるので、自分でCHMにしないとだめ(すぐにできる)。
スタイルの指定が豊富にある。
 サンプル
 http://caspar.hazymoon.jp/php/phpDocumentor/output/frames_earthli/

PHPDoc

以前、pearから利用できたようだが、pearから外された。
Javadocをまんま使ったPHPDocもあるらしい。
 

Doxygen

PHP以外にもよくつかわれているドキュメンタ。
PDF・CHMの日本語にも対応している。
使い方は、こちらを参照。
 サンプル
 http://skazami.web.infoseek.co.jp/tools/doxygen/doxygen_example_html/index.html 

PHPXRef

perlでできたツール。クラス構造などをドキュメント化するよりも、
ソースコード自体をドキュメント化することを目的としている。
具体的には、同じ変数のライトアップや関数へのリンクなど。
クラス図などは表示されない。
PDFやCHMへの変換は難しいか?
 サンプル
 http://www.doyouphp.jp/tips/xref_0_6/nav.html?index.html

どれがいいのか?      

私見だが、HTMLマニュアルなら、phpDocumentorを使い、PDFマニュアルなら、Doxygenを使うとよいだろう。