Extended CHM PHP 語法手冊之 DIY
發表時間:2024-02-02 來源:明輝站整理相關軟件相關文章人氣:
[摘要]Extended CHM PHP 語法手冊之 DIY 1. Extended CHM 的主要特點 可自定義右鍵菜單 php代碼塊以語法高亮顯示 php代碼塊中的函數帶有相應的函數手冊鏈接 更清晰的手冊界面 可以自定義手冊的外觀樣式 支持換膚功能 更詳盡的手冊內容 附帶非常實用用戶筆記 可以集成于大...
Extended CHM PHP 語法手冊之 DIY
1. Extended CHM 的主要特點
可自定義右鍵菜單
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 客戶端,
你可以在命令行下直接鍵入 "cvs version" 來檢查 cvs 是否安裝,
如果沒有安裝請從
<<http://www.cvshome.org>> 中下載最新版
本的 cvs 客戶端
Windows 操作系統:
需要在 windows 系統中運行 Microsoft Html Help Workshop 來生成 chm 文件
你也可以在linux下運行wine來模擬windows
Microsoft Html Help Workshop
微軟發布的用語生成 chm 文件的工具
<<Microsoft Html Help
Workshop>>
Linux 操作系統:
我們需要在此進行手冊和一些必備軟件包的編譯安裝,
你也可以使用其他的 unix 陣營的系統,
或者干脆用 cygwin, vmware 等軟件來在 Windows 下模擬一個 linux 環境
PHP4.0或以上版本:
編譯和生成 chm 文件時均需要用到 php 所以你需要再 windows 和 linux 環境下
都安裝 php.
本文所使用的環境:
兩臺pc, 分別裝有 redhat 9 以及 windows 2000 professional
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
$cd openjade-1.3.2
$./configure
$make
$make install
$cd ../OpenSP-1.5.1
$./configure
$make
$make install
$cd ../
--------------------------------------------------------------------------------
然后, 我們要從 php 的官方 cvs 服務器中取得 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
--------------------------------------------------------------------------------
設置編譯參數
代碼:--------------------------------------------------------------------------------
$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'"/>
--------------------------------------------------------------------------------
然后繼續執行編譯操作,
代碼:--------------------------------------------------------------------------------
$make chm_xsl
--------------------------------------------------------------------------------
待編譯結束以后, 我們需要取得最新的 php 鏡像站點列表, 和用戶筆記文件
代碼:--------------------------------------------------------------------------------
$cd htmlhelp
$wget "http://www.php.net/include/mirrors.inc"
$wget "http://www.php.net/backend/notes/all.bz2"
$bunzip2 all.bz2
cd ../
--------------------------------------------------------------------------------
可以把生成的文件打個包, 傳至 windows 機上
代碼:--------------------------------------------------------------------------------
tar -czvf phpdoc.tar.gz ./htmlhelp
--------------------------------------------------------------------------------
到這里, 需要再 linux 平臺上執行的操作就完成了
現在起操作轉到windows環境中
首先, 解壓縮剛才生成的phpdoc.tar.gz
由于我所取得的版本編譯后所生成的一些文件中, 相關函數的鏈接存在錯誤,
所以需要修改一下 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 變量值設置為 Html Help Workshop 的安裝目錄, 存盤退
出
將 php.exe 所在目錄加入 path 環境變量中.
在 "運行" 中鍵入 cmd 進入控制臺模式,并進入 phpdoc.tar.gz 的釋放目錄
代碼:--------------------------------------------------------------------------------
cd htmlhelp
make_chm.bat
--------------------------------------------------------------------------------
待其執行結束后, Extended CHM 版的 php 語法手冊就生成完畢了.
儲存在 htmlhelp/release 目錄下
再下載
<<php_manual_prefs.exe>>, 并保存在手冊目錄
執行此程序即可對手冊中的右鍵菜單, 所用皮膚等進行設置了.
設置完成后, 雙擊 php_manual_en.chm 即可瀏覽手冊了.(出處:Viphot)