zl程序教程

您现在的位置是:首页 >  其它

当前栏目

ExtendedCHMPHP语法手册之DIY

语法 手册 DIY
2023-06-13 09:13:42 时间
ExtendedCHMPHP语法手册之DIY

1.ExtendedCHM的主要特点
可自定义右键菜单
php代码块以语法高亮显示
php代码块中的函数带有相应的函数手册链接
更清晰的手册界面
可以自定义手册的外观样式
支持换肤功能
更详尽的手册内容
附带非常实用用户笔记
可以集成于大多数ide和编辑器
详细信息请访问
<<http://www.php.net/docs-echm.php>>



2.为什么要DIY
不知为什么,这么好的东东在php的官方网站上已经很久没有更新了(最新的官方
版本是2003.9.6发布的).尤其是在php5发布以后更是有不少内容都查不到,所
以就只能发扬DIY精神,来自己制作了.^_^

3.预备知识
cvs客户端的使用.
linux环境下的基本操作,以及软件的编译与安装.

4.软件需求
cvs客户端软件:
我们要通过php官方网站的cvs服务器来取得phpdoc的最新版本.
windows环境下推荐使用wincvs中文版
<<http://www.8848software.com/wi
ncvs/>>
unix阵营的操作系统一般都自带cvs客户端,
你可以在命令行下直接键入"cvsversion"来检查cvs是否安装,
如果没有安装请从
<<http://www.cvshome.org>>中下载最新版
本的cvs客户端
Windows操作系统:
需要在windows系统中运行MicrosoftHtmlHelpWorkshop来生成chm文件
你也可以在linux下运行wine来模拟windows
MicrosoftHtmlHelpWorkshop
微软发布的用语生成chm文件的工具
<<MicrosoftHtmlHelp
Workshop>>
Linux操作系统:
我们需要在此进行手册和一些必备软件包的编译安装,
你也可以使用其他的unix阵营的系统,
或者干脆用cygwin,vmware等软件来在Windows下模拟一个linux环境
PHP4.0或以上版本:
编译和生成chm文件时均需要用到php所以你需要再windows和linux环境下
都安装php.
本文所使用的环境:
两台pc,分别装有redhat9以及windows2000professional

5.开始DIY
首先,在linux机中
安装OpenJada和OpenSP
进入linux控制台

代码:--------------------------------------------------------------------------------
$mkdir/home/phpdoc
$cd/home/phpdoc
$wget"http://prdownloads.sourceforge.net/openjade/openjade-1.3.2.tar.gz"
$wget"http://prdownloads.sourceforge.net/openjade/OpenSP-1.5.1.tar.gz"
$tar-zxvf*.tar.gz
$cdopenjade-1.3.2
$./configure
$make
$makeinstall
$cd../OpenSP-1.5.1
$./configure
$make
$makeinstall
$cd../
--------------------------------------------------------------------------------

然后,我们要从php的官方cvs服务器中取得phpdoc的最新版本

代码:--------------------------------------------------------------------------------
$exportCVSROOT=:pserver:cvsread@cvs.php.net:/repository
$cvs-z9checkoutphpdoc
$cdphpdoc
$cvsupdate-dP-D"December31,200211:00pm"xsl
$cvsup-Axsl/version.xmlxsl/docbook/html/chunker.xsl
--------------------------------------------------------------------------------

设置编译参数

代码:--------------------------------------------------------------------------------
$autoconf
$./configure--with-chm=yes--with-lang=en
--------------------------------------------------------------------------------

这时,要做一些小小的修正
用编辑器打开/home/phpdoc/phpdoc/xsl/htmlhelp-db.xsl
在此文件中搜索"@DOCBOOKXSL_HTML@",
将其替换为"./docbook/html/chunk.xsl",并存盘退出
然后再打开/home/phpdoc/phpdoc/xsl/html-common.xsl
将如下代码加入文件尾部</xsl:stylesheet>一行之上,并存盘退出

代码:--------------------------------------------------------------------------------
<xsl:templatematch="collabname"mode="titlepage.mode">
<xsl:apply-templates/>
</xsl:template>
<xsl:paramname="chunker.output.doctype-system"
select=""http://www.w3.org/TR/html4/loose.dtd""/>
<xsl:paramname="chunker.output.doctype-public"select=""-//W3C//DTDHTML
4.01Transitional//EN""/>
--------------------------------------------------------------------------------

然后继续执行编译操作,

代码:--------------------------------------------------------------------------------
$makechm_xsl
--------------------------------------------------------------------------------

待编译结束以后,我们需要取得最新的php镜像站点列表,和用户笔记文件

代码:--------------------------------------------------------------------------------
$cdhtmlhelp
$wget"http://www.php.net/include/mirrors.inc"
$wget"http://www.php.net/backend/notes/all.bz2"
$bunzip2all.bz2
cd../
--------------------------------------------------------------------------------

可以把生成的文件打个包,传至windows机上

代码:--------------------------------------------------------------------------------
tar-czvfphpdoc.tar.gz./htmlhelp
--------------------------------------------------------------------------------

到这里,需要再linux平台上执行的操作就完成了
现在起操作转到windows环境中
首先,解压缩刚才生成的phpdoc.tar.gz
由于我所取得的版本编译后所生成的一些文件中,相关函数的链接存在错误,
所以需要修改一下htmlhelp/filter_files.php文件
先在其头部加入如下代码

PHP代码:--------------------------------------------------------------------------------
//fixfunctionslinkerror
functionfix_function_link($m){
$fname1="function.".strtolower(str_replace("_","-",$m[1])).".html";
$fname2="function.".strtolower(str_replace("_",".",$m[1])).".html";
if(file_exists("html/".$fname1)){
return"<ahref="".$fname1.""><b>".$m[1]."()</b></a>";
}elseif(file_exists("html/".$fname2)){
return"<ahref="".$fname2.""><b>".$m[1]."()</b></a>";
}else{
return"<ahref="#"onclick="returnfalse;"><b>".$m[1]."()</b></a>";
}
}

--------------------------------------------------------------------------------

然后在文件中找到如下这段代码

PHP代码:--------------------------------------------------------------------------------
//Readinthecontentsofthesourcefile
$content=join("",file("$HTML_SRC/$filename"));

--------------------------------------------------------------------------------

将其改为

PHP代码:--------------------------------------------------------------------------------
//Readinthecontentsofthesourcefile
$content=join("",file("$HTML_SRC/$filename"));
$content=str_replace("&raquo;","»",$content);
$reg_fix="/".preg_quote("<ahref="index.html"><b>","/")."(\w+)\(\)".preg_quote("</b></a>","/")."/is";
$content=preg_replace_callback($reg_fix,"fix_function_link",$content);
$reg_fix="/".preg_quote("<ahref=""><b>","/")."(\w+)\(\)".preg_quote("</b></a>","/")."/is";
$content=preg_replace_callback($reg_fix,"fix_function_link",$content);

--------------------------------------------------------------------------------

存盘后,再将"htmlhelp\local_vars.php.src"重命名为
"htmlhelp\local_vars.php"
编辑"htmlhelp\local_vars.php",
将其中的$HELP_WORKSHOP变量值设置为HtmlHelpWorkshop的安装目录,存盘退

将php.exe所在目录加入path环境变量中.
在"运行"中键入cmd进入控制台模式,并进入phpdoc.tar.gz的释放目录

代码:--------------------------------------------------------------------------------
cdhtmlhelp
make_chm.bat
--------------------------------------------------------------------------------

待其执行结束后,ExtendedCHM版的php语法手册就生成完毕了.
储存在htmlhelp/release目录下
再下载
<<php_manual_prefs.exe>>,并保存在手册目录
执行此程序即可对手册中的右键菜单,所用皮肤等进行设置了.
设置完成后,双击php_manual_en.chm即可浏览手册了.(出处:Viphot)