Extended CHM PHP 語法手冊(cè)之 DIY
發(fā)表時(shí)間:2024-06-04 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]Extended CHM PHP 語法手冊(cè)之 DIY 1. Extended CHM 的主要特點(diǎn) 可自定義右鍵菜單 php代碼塊以語法高亮顯示 php代碼塊中的函數(shù)帶有相應(yīng)的函數(shù)手冊(cè)鏈接 更清晰的手冊(cè)界面 可以自定義手冊(cè)的外觀樣式 支持換膚功能 更詳盡的手冊(cè)內(nèi)容 附帶非常實(shí)用用戶筆記 可以集成于大...
Extended CHM PHP 語法手冊(cè)之 DIY
1. Extended CHM 的主要特點(diǎn)
可自定義右鍵菜單
php代碼塊以語法高亮顯示
php代碼塊中的函數(shù)帶有相應(yīng)的函數(shù)手冊(cè)鏈接
更清晰的手冊(cè)界面
可以自定義手冊(cè)的外觀樣式
支持換膚功能
更詳盡的手冊(cè)內(nèi)容
附帶非常實(shí)用用戶筆記
可以集成于大多數(shù)ide和編輯器
詳細(xì)信息請(qǐng)?jiān)L問
<<http://www.php.net/docs-echm.php>>
2. 為什么要 DIY
不知為什么, 這么好的東東在 php 的官方網(wǎng)站上已經(jīng)很久沒有更新了 (最新的官方
版本是 2003.9.6 發(fā)布的). 尤其是在 php5 發(fā)布以后更是有不少內(nèi)容都查不到, 所
以就只能發(fā)揚(yáng) DIY 精神, 來自己制作了. ^_^
3. 預(yù)備知識(shí)
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 是否安裝,
如果沒有安裝請(qǐng)從
<<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)行手冊(cè)和一些必備軟件包的編譯安裝,
你也可以使用其他的 unix 陣營的系統(tǒng),
或者干脆用 cygwin, vmware 等軟件來在 Windows 下模擬一個(gè) linux 環(huán)境
PHP4.0或以上版本:
編譯和生成 chm 文件時(shí)均需要用到 php 所以你需要再 windows 和 linux 環(huán)境下
都安裝 php.
本文所使用的環(huán)境:
兩臺(tái)pc, 分別裝有 redhat 9 以及 windows 2000 professional
5. 開始 DIY
首先, 在 linux 機(jī)中
安裝 OpenJada 和 OpenSP
進(jìn)入 linux 控制臺(tái)
代碼:--------------------------------------------------------------------------------
$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.net:/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
--------------------------------------------------------------------------------
這時(shí), 要做一些小小的修正
用編輯器打開 /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.net/include/mirrors.inc"
$wget "http://www.php.net/backend/notes/all.bz2"
$bunzip2 all.bz2
cd ../
--------------------------------------------------------------------------------
可以把生成的文件打個(gè)包, 傳至 windows 機(jī)上
代碼:--------------------------------------------------------------------------------
tar -czvf phpdoc.tar.gz ./htmlhelp
--------------------------------------------------------------------------------
到這里, 需要再 linux 平臺(tái)上執(zhí)行的操作就完成了
現(xiàn)在起操作轉(zhuǎn)到windows環(huán)境中
首先, 解壓縮剛才生成的phpdoc.tar.gz
由于我所取得的版本編譯后所生成的一些文件中, 相關(guān)函數(shù)的鏈接存在錯(cuò)誤,
所以需要修改一下 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("&raquo;","»",$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)入控制臺(tái)模式,并進(jìn)入 phpdoc.tar.gz 的釋放目錄
代碼:--------------------------------------------------------------------------------
cd htmlhelp
make_chm.bat
--------------------------------------------------------------------------------
待其執(zhí)行結(jié)束后, Extended CHM 版的 php 語法手冊(cè)就生成完畢了.
儲(chǔ)存在 htmlhelp/release 目錄下
再下載
<<php_manual_prefs.exe>>, 并保存在手冊(cè)目錄
執(zhí)行此程序即可對(duì)手冊(cè)中的右鍵菜單, 所用皮膚等進(jìn)行設(shè)置了.
設(shè)置完成后, 雙擊 php_manual_en.chm 即可瀏覽手冊(cè)了.(出處:Viphot)