熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> PHP編程 >> 正文

Extended CHM PHP 語法手冊之 DIY

2013-11-15 12:22:08  來源: PHP編程 

   Extended CHM 的主要特點
  
  可自定義右鍵菜單
  php代碼塊以語法高亮顯示
  php代碼塊中的函數帶有相應的函數手冊鏈接
  更清晰的手冊界面
  可以自定義手冊的外觀樣式
  支持換膚功能
  更詳盡的手冊內容
  附帶非常實用用戶筆記
  可以集成於大多數ide和編輯器
  詳細信息請訪問
  <&/docsechmphp>>
  
   為什麼要 DIY
  
  不知為什麼 這麼好的東東在 php 的官方網站上已經很久沒有更新了 (最新的官方
  版本是 發布的) 尤其是在 php 發布以後更是有不少內容都查不到
  以就只能發揚 DIY 精神 來自己制作了 ^_^
  
   預備知識
  
  cvs 客戶端的使用
  linux 環境下的基本操作 以及軟件的編譯與安裝
  
   軟件需求
  
  cvs客戶端軟件:
  我們要通過 php 官方網站的 cvs 服務器來取得 phpdoc 的最新版本
  windows 環境下推薦使用 wincvs中文版
  <<
  ncvs/>>
  unix 陣營的操作系統一般都自帶 cvs 客戶端
  你可以在命令行下直接鍵入 cvs version 來檢查 cvs 是否安裝
  如果沒有安裝請從
  <<>> 中下載最新版
  本的 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 環境
  PHP或以上版本:
  編譯和生成 chm 文件時均需要用到 php 所以你需要再 windows 和 linux 環境下
  都安裝 php
  本文所使用的環境:
  兩台pc 分別裝有 redhat 以及 windows professional
  
   開始 DIY
  
  首先 在 linux 機中
  安裝 OpenJada 和 OpenSP
  進入 linux 控制台
  
  代碼:
  $mkdir /home/phpdoc
  $cd /home/phpdoc
  $wget targz
  $wget targz
  $tar zxvf *targz
  $cd openjade
  $/configure
  $make
  $make install
  $cd /OpenSP
  $/configure
  $make
  $make install
  $cd /
  
  
  然後 我們要從 php 的官方 cvs 服務器中取得 phpdoc 的最新版本
  
  代碼:
  $export CVSROOT=:pserver::/repository
  $cvs z checkout phpdoc
  $cd phpdoc
  $cvs update dP DDecember :pm xsl
  $cvs up A xsl/versionxml xsl/docbook/html/chunkerxsl
  
  
  設置編譯參數
  
  代碼:
  $autoconf
  $/configure withchm=yes withlang=en
  
  
  這時 要做一些小小的修正
  用編輯器打開 /home/phpdoc/phpdoc/xsl/htmlhelpdbxsl
  在此文件中搜索 @DOCBOOKXSL_HTML@
  將其替換為 /docbook/html/chunkxsl 並存盤退出
  然後再打開 /home/phpdoc/phpdoc/xsl/htmlcommonxsl
  將如下代碼加入文件尾部</xsl:stylesheet>一行之上 並存盤退出
  
  代碼:
  <xsl:template match=collabname mode=titlepagemode>
  <xsl:applytemplates />
  </xsl:template>
  <xsl:param name=chunkeroutputdoctypesystem
  select=/>
  <xsl:param name=chunkeroutputdoctypepublic select=//WC//DTD HTML
   Transitional//EN/>
  
  
  然後繼續執行編譯操作
  
  代碼:
  $make chm_xsl
  
  
  待編譯結束以後 我們需要取得最新的 php 鏡像站點列表 和用戶筆記文件
  
  代碼:
  $cd htmlhelp
  $wget /include/mirrorsinc
  $wget /backend/notes/allbz
  $bunzip allbz
  cd /
  
  可以把生成的文件打個包 傳至 windows 機上
  
  代碼:
  tar czvf phpdoctargz /htmlhelp
  
  到這裡 需要再 linux 平台上執行的操作就完成了
  現在起操作轉到windows環境中
  首先 解壓縮剛才生成的phpdoctargz
  由於我所取得的版本編譯後所生成的一些文件中 相關函數的鏈接存在錯誤
  所以需要修改一下 htmlhelp/filter_filesphp 文件
  先在其頭部加入如下代碼
  
  PHP代碼:
  //fix functions link error
  function fix_function_link($m) {
  $fname = functionstrtolower(str_replace(_$m[]))l;
  $fname = functionstrtolower(str_replace(_$m[]))l;
  if(file_exists(html/$fname)) {
  return <a $fname><b>$m[]()</b></a>;
  }elseif(file_exists(html/$fname)) {
  return <a $fname><b>$m[]()</b></a>;
  }else{
  return <a # onclick=return false;><b>$m[]()</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 ><b> /)(\w+)\(\)preg_quote(</b></a> /)/is;
  $content = preg_replace_callback($reg_fixfix_function_link$content);
  $reg_fix = /preg_quote(<a ><b> /)(\w+)\(\)preg_quote(</b></a> /)/is;
  $content = preg_replace_callback($reg_fixfix_function_link$content);
  
  存盤後 再將 htmlhelp\local_varsphpsrc 重命名為
  htmlhelp\local_varsphp
  編輯 htmlhelp\local_varsphp
  將其中的 $HELP_WORKSHOP 變量值設置為 Html Help Workshop 的安裝目錄 存盤退
  出
  將 phpexe 所在目錄加入 path 環境變量中
  在 運行 中鍵入 cmd 進入控制台模式並進入 phpdoctargz 的釋放目錄
  
  代碼:
  cd htmlhelp
  make_chmbat
  
  待其執行結束後 Extended CHM 版的 php 語法手冊就生成完畢了
  儲存在 htmlhelp/release 目錄下
  再下載
  <<php_manual_prefsexe>> 並保存在手冊目錄
  執行此程序即可對手冊中的右鍵菜單 所用皮膚等進行設置了
  設置完成後 雙擊 php_manual_enchm 即可浏覽手冊了
From:http://tw.wingwit.com/Article/program/PHP/201311/20824.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.