1. Extended CHM 的主要特點(diǎn)
可自定義右鍵菜單
php代碼塊以語法高亮顯示
php代碼塊中的函數(shù)帶有相應(yīng)的函數(shù)手冊鏈接
更清晰的手冊界面
可以自定義手冊的外觀樣式
支持換膚功能
更詳盡的手冊內(nèi)容
附帶非常實(shí)用用戶筆記
可以集成于大多數(shù)ide和編輯器
詳細(xì)信息請?jiān)L問
<<http://www.php.com/docs-echm.php>>
2. 為什么要 DIY
不知為什么, 這么好的東東在 php 的官方網(wǎng)站上已經(jīng)很久沒有更新了 (最新的官方
版本是 2003.9.6 發(fā)布的). 尤其是在 php5 發(fā)布以后更是有不少內(nèi)容都查不到, 所
以就只能發(fā)揚(yáng) DIY 精神, 來自己制作了. ^_^
3. 預(yù)備知識
cvs 客戶端的使用.
linux 環(huán)境下的基本操作, 以及軟件的編譯與安裝.
4. 軟件需求
cvs客戶端軟件:
我們要通過 php 官方網(wǎng)站的 cvs 服務(wù)器來取得 phpdoc 的最新版本.
windows 環(huán)境下推薦使用 wincvs中文版
<<http://www.8848software.com/wi
ncvs/>>
unix 陣營的操作系統(tǒng)一般都自帶 cvs 客戶端,
你可以在命令行下直接鍵入 "cvs version" 來檢查 cvs 是否安裝,
如果沒有安裝請從
<<http://www.cvshome.org>> 中下載最新版
本的 cvs 客戶端
Windows 操作系統(tǒng):
需要在 windows 系統(tǒng)中運(yùn)行 Microsoft Html Help Workshop 來生成 chm 文件
你也可以在linux下運(yùn)行wine來模擬windows
Microsoft Html Help Workshop
微軟發(fā)布的用語生成 chm 文件的工具
<<Microsoft Html Help
Workshop>>
Linux 操作系統(tǒng):
我們需要在此進(jìn)行手冊和一些必備軟件包的編譯安裝,
你也可以使用其他的 unix 陣營的系統(tǒng),
或者干脆用 cygwin, vmware 等軟件來在 Windows 下模擬一個 linux 環(huán)境
PHP4.0或以上版本:
編譯和生成 chm 文件時均需要用到 php 所以你需要再 windows 和 linux 環(huán)境下
都安裝 php.
本文所使用的環(huán)境:
兩臺pc, 分別裝有 redhat 9 以及 windows 2000 professional
5. 開始 DIY
首先, 在 linux 機(jī)中
安裝 OpenJada 和 OpenSP
進(jìn)入 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
$cd openjade-1.3.2
$./configure
$make
$make install
$cd ../OpenSP-1.5.1
$./configure
$make
$make install
$cd ../
--------------------------------------------------------------------------------
然后, 我們要從 php 的官方 cvs 服務(wù)器中取得 phpdoc 的最新版本
代碼:--------------------------------------------------------------------------------
$export CVSROOT=:pserver:cvsread@cvs.php.com:/repository
$cvs -z9 checkout phpdoc
$cd phpdoc
$cvs update -dP -D"December 31, 2002 11:00pm" xsl
$cvs up -A xsl/version.xml xsl/docbook/html/chunker.xsl
--------------------------------------------------------------------------------
設(shè)置編譯參數(shù)
代碼:--------------------------------------------------------------------------------
$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:template match="collabname" mode="titlepage.mode">
<xsl:apply-templates />
</xsl:template>
<xsl:param name="chunker.output.doctype-system"
select="'http://www.w3.org/TR/html4/loose.dtd'"/>
<xsl:param name="chunker.output.doctype-public" select="'-//W3C//DTD HTML
4.01 Transitional//EN'"/>
--------------------------------------------------------------------------------
然后繼續(xù)執(zhí)行編譯操作,
代碼:--------------------------------------------------------------------------------
$make chm_xsl
--------------------------------------------------------------------------------
待編譯結(jié)束以后, 我們需要取得最新的 php 鏡像站點(diǎn)列表, 和用戶筆記文件
代碼:--------------------------------------------------------------------------------
$cd htmlhelp
$wget "http://www.php.com/include/mirrors.inc"
$wget "http://www.php.com/backend/notes/all.bz2"
$bunzip2 all.bz2
cd ../
--------------------------------------------------------------------------------
可以把生成的文件打個包, 傳至 windows 機(jī)上
代碼:--------------------------------------------------------------------------------
tar -czvf phpdoc.tar.gz ./htmlhelp
--------------------------------------------------------------------------------
到這里, 需要再 linux 平臺上執(zhí)行的操作就完成了
現(xiàn)在起操作轉(zhuǎn)到windows環(huán)境中
首先, 解壓縮剛才生成的phpdoc.tar.gz
由于我所取得的版本編譯后所生成的一些文件中, 相關(guān)函數(shù)的鏈接存在錯誤,
所以需要修改一下 htmlhelp/filter_files.php 文件
先在其頭部加入如下代碼
PHP代碼:--------------------------------------------------------------------------------
//fix functions link error
function fix_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 '<a href="'.$fname1.'"><b>'.$m[1].'()</b></a>';
}elseif(file_exists("html/".$fname2)) {
return '<a href="'.$fname2.'"><b>'.$m[1].'()</b></a>';
}else{
return '<a href="#" onclick="return false;"><b>'.$m[1].'()</b></a>';
}
}
--------------------------------------------------------------------------------
然后在文件中找到如下這段代碼
PHP代碼:--------------------------------------------------------------------------------
// Read in the contents of the source file
$content = join("", file("$HTML_SRC/$filename"));
--------------------------------------------------------------------------------
將其改為
PHP代碼:--------------------------------------------------------------------------------
// Read in the contents of the source file
$content = join("", file("$HTML_SRC/$filename"));
$content = str_replace("»","»",$content);
$reg_fix = '/'.preg_quote('<a href="index.html"><b>', "/").'(\w+)\(\)'.preg_quote('</b></a>', "/").'/is';
$content = preg_replace_callback($reg_fix,'fix_function_link',$content);
$reg_fix = '/'.preg_quote('<a href=""><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 變量值設(shè)置為 Html Help Workshop 的安裝目錄, 存盤退
出
將 php.exe 所在目錄加入 path 環(huán)境變量中.
在 "運(yùn)行" 中鍵入 cmd 進(jìn)入控制臺模式,并進(jìn)入 phpdoc.tar.gz 的釋放目錄
代碼:--------------------------------------------------------------------------------
cd htmlhelp
make_chm.bat
--------------------------------------------------------------------------------
待其執(zhí)行結(jié)束后, Extended CHM 版的 php 語法手冊就生成完畢了.
儲存在 htmlhelp/release 目錄下
再下載
<<php_manual_prefs.exe>>, 并保存在手冊目錄
執(zhí)行此程序即可對手冊中的右鍵菜單, 所用皮膚等進(jìn)行設(shè)置了.
設(shè)置完成后, 雙擊 php_manual_en.chm 即可瀏覽手冊了.(出處:Viphot)
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com