首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

PEAR:使用PHPDoc轻松建立你的PEAR文档(4)生成文档

PEAR:使用PHPDoc轻松建立你的PEAR文档(4)生成文档

生成文档5.1 安装PHPDOC安装PHPDOC很简单,实际上因为它已经随同PHP 4.05一同发布了,所以如果你的PHP是4.05,那么在PEAR目录下面会发现PHPDOC这个模块.如果你没有发现,你可以从PHPDOC的CVS获得一份最新的源码.
5.2 运行PHPDOC运行PHPDOC需要做一些准备工作,首先要调整你的PHP.INI的参数,
因为PHPDOC运行的时间比一般的PHP应用要长,很可能会超过你在PHP.INI中定义的最大运行时间(缺省是30秒),根据作者的建议:PIII,60秒,120秒PII,240秒MMX200,480秒如果配置更低的话。如果出现超时,你可以自己适当延长这些数值。
在php.ini中修改:         
1
2
3
4
5
;;;;;;;;;;;;;;;;;;;
; Resource Limits ;
;;;;;;;;;;;;;;;;;;;
max_execution_time = 480   
memory_limit = 8388608




如果你不愿意或者没有修改php.ini的权限,那么你可以使用set_time_limit()函数来设置这个时间,使用方法:         set_time_limit(480); 设置从此点开始,运行480秒后才超时。将这个函数加在index.php中,就可以和修改php.ini达到同样的效果。             
其次,你要修改phpdoc目录下面的index.php文件:         
1
2
// Directory with include files
define("PHPDOC_INCLUDE_DIR", "c:/www/apache/doc/");




将"c:/www/apache/doc/修改成你的phpdoc的目录        
// Important: set this to the Linebreak sign of your system!         
   define("LINEBREAK", "\r\n");        
这是定义换行的标志,DOS下面是换行+回车,UNIX下面只是回车就可以。      
下面,为你的要生成文档的应用程序做一些定制工作:         
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// Sets the name of your application.
// The name of the application is used e.g. as a page title
$doc->setApplication("PHPDoc");
setApplication()用来设置你的应用程序的名称,将PHPDOC替换成你应用程序的名字。
// directory where your source files reside:
$doc->setSourceDirectory(PHPDOC_INCLUDE_DIR);
setSourceDirectory()
设置你的应用程序的PHP源文件所在的目录,将PHPDOC_INCLUDE_DIR替换成你实际的目录。
// save the generated docs here:
$doc->setTarget(PHPDOC_INCLUDE_DIR."apidoc/");
setTarget()
设置你的API文档存放的目录,PHPDOC将在这个目录下面生成XML及HTML文件。
将PHPDOC_INCLUDE_DIR."apidoc/"替换成你自己的目录。
// use these templates:
$doc->setTemplateDirectory(PHPDOC_INCLUDE_DIR."renderer/html/templates/");
setTemplateDirectory()设置HTML所使用的模板的目录。如果你需要使用定制的模板,
可以使用这个函数设置你自己的模板文件所在的目录。
// source files have one of these suffixes:
$doc->setSourceFileSuffix( array ("php", "inc") );
setSourceFileSuffix()用来设置需要分析的PHP源文件的扩展名,如果你使用了别的扩展名,
需要在这里添加,比如如果你有以前的php3文件,需要添加:
$doc->setSourceFileSuffix( array ("php", "inc","php3") );




这样,基本的定制工作就完成了,现在你可以在浏览器中运行index.php,出现了欢迎信息后,就是开始分析文档了.根据机器的状况和所分析的源代码文件的数量不同,文档分析过程所需的时间也不会相同.文档分析结束后,浏览器会显示FINISH的字样,表明分析完成,你可以在刚才指定的目录下面找到分析结果,包括HTML和XML文件.      
5.3 实用工具通过PHPDOC的INDEX.PHP虽然可以产生文档,但是毕竟不是那么方便,这里我给出了一个自己写的shell程序 ,你可以用它来方便的产生你的API文档,无须每次都要修改,也不用非要启动浏览器来执行。      
用法如下:         makeapidoc -t 你的应用程序的标题         -s 源程序目录         -d 生成文档存放目录      
在使用之前,先修改下面2行:        
PHPDOC_DIR="/usr/local/lib/php/pear/PHPDoc" # windows: c:/php/pear/PHPDoc           
PHPBIN="/usr/local/bin/php" #windows: c:/php/php.exe         
PHPDOC_DIR是PHPDOC的目录,PHPBIN是PHP可执行文件的路径。        
这个程序实际上是把PHP作为一个SHELLSCRIPT来使用了,不过是嵌在BASH中使用,实际上PHP完全可以做为普通的SHELL脚本一样运行,只需加上 -q 参数,这样就不打印HTTP HEADER了。
进阶:定制输出的文档如果你认为缺省的PHPDOC产生的HTML文档不够美观,你想做进一步的改进,比如你想把一些注释换成中文或者是其他的文字,你想加入你的LOGO,或者是你的联系方式,换成一个漂亮的背景图案,有没有方法可以作到?答案是当然可以,并且非常简单.
PHPDOC在输出HTML格式的API文档的时候,使用的是PEAR的IT,ITX模块,这是类似PHPLIB的TEMPLETE.CLASS的PEAR模块,因此,你可以方便地定制和修改缺省的模板来为你所用.
我们先看看PHPDOC/renderer/html/templates:          class.html classtree.html elementlist.html frame_packageelementlist.html frame_packagelist.html module.html modulegroup.html packagelist.html phpdoc.css warnings.html xmlfiles.html
你会看到上面的这些文件,没错,这些就是PHPDOC用来产生API HTML的模板,现在你可以用你的编辑器来修改这些模板了,这里给出基本的修改原则:        
  • 对于用{}圈起来的标记,这些是一些变量的标记,在运行时刻,PHPDOC将会用实际的变量值替换到相应的位置.因此,你务必要保留全部的变量标记,否则运行时将会出错.
  • 你要注意<!--Begin Xxx-loop --><!--End Xxx -loop-->之类带LOOP的注释,在这2个标记中间的部分,将会用于循环输出,所以,你在设计模板时要考虑到循环使用,是否会破坏你页面的美观,最简单的比如:如果循环的部分是在一个表格内,你要用<tr>用来分隔各循环调用的部分,同时应该保证各个<TD></TD>是匹配关闭的.
  • 当你修改的地方不大,你也可以直接修改样式表phpdoc.css的内容,这样也可以达到你要求的效果
  • 你可以把模板存放在不同的目录,通过setTemplateDirectory()设置不同的模板路径,就可以生成不同格式的API文档
返回列表