Extended CHM PHP 文法手冊之 DIY

來源:互聯網
上載者:User
文法 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("»","»",$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 即可瀏覽手冊了.



相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.