程式碼採用單一入口 Application 類別分派請求,依 $key 參數決定輸出四種視圖之一:
<frameset cols="161,*">,左側載入 key=menu,右側載入 key=about。$id 參數顯示歡迎訊息。| 屬性/方法 | 用途 |
|---|---|
$MenuOn | 控制預設展開的分類索引 |
menuStartSection($seq, $name) | 啟動一個分類區塊,輸出標題列與摺疊控制 JS 掛點 |
menuAddItem($label, $desc, $url, $target) | 新增選單項目,支援狀態列提示與目標框架 |
menuAddSubSection($label) | 二級分類標題(深灰背景,黑字) |
menuAddSubSectionLine() | 分隔線(2px 高圖片) |
menuEndSection() | 關閉分類區塊 |
menuSectionAsItem($seq, $name, $desc, $url) | 可點擊的分類標題(直接連結) |
scriptOut() | 輸出控制預設展開分類的 JS(計算 TopMenuHeight + MenuBarHeight * MenuOn) |
所有顏色、字體、高度、邊框均定義為類別屬性($MenuBackColor, $SelectedItemBackgroundColor 等),支援兩種模式切換:
#08246B)、淺藍高亮(#B5BED6)、二級深灰背景。<<<EOD 語法保持樣板可讀性,變數直接內插。buildURL() 將空格轉 +,確保查詢字串正確傳遞中文參數。$PHP_SELF、$key、$id 皆為全域,現代框架建議改用 $_SERVER/$_GET 並注入依賴。main,對應 frameset 右側 frame name。Menu 類別改為渲染器,支援無限層級遞迴。role="tree"、aria-expanded、鍵盤導航(Enter/空白展開、方向鍵移動)。Application 建構子注入 Menu, Page, About 實例,便於單元測試與替換實作。此程式碼雖屬早期 PHP 4 時代產物,但其「單一入口分派、視圖類別封裝、參數化視覺風格」的設計思想,仍為現代 PHP 元件化開發的啟蒙範本。