Lesson 2: 樣板化程式設計 (2004/09/07)
講員介紹 本名:孫仲岳 (Saturn Sun.) 生日:1980年11月4日天蠍座 現任: 彰化市社區大學 講師 中原大學校園網路策進會 創會會長 中原檔案伺服器網管 http://ftp.cycu.edu.tw 中原熊蓋站站長 http://best.cycu.edu.tw 中文化軟體聯盟網管 http://cpatch.org AX工作室負責人 http://www.ax.com.tw
如何取得上課投影片 http://best.cycu.edu.tw 進入「校園網路策進會」版
樣板化程式設計 樣板化概述 英文原意 : Template 解決網頁設計者長期以來的痛
樣板化程式設計 傳統網頁設計 單一頁面 排版效率差 視覺化編輯軟體引入 Template 即使要快,也是「再製」、﹝再修改」 Dreamweaver 實例觀摩 : http://cpatch.org
樣板化程式設計 互動式網頁設計、資料庫網頁 引入檔案 流程操作 程式設計人員與HTML奮戰 ex: (參考範例) http://cna.ax.com.tw/cna_coures.php
樣板化程式設計 真正的樣板化程式設計 http://www.xdxd.org 觀看範例 程式設計師專於程式寫作 網頁設計師專於網頁設計
樣板化程式設計 解析器 我是 孫仲岳 網頁檔案 程式檔案 HTML PHP Parser 我是 {MY_INFO}
樣板化程式設計 關鍵技術 處理原理 Parser = Search + Replace 程式設計師 - 資料處理、顯示存於變數 網頁設計師 - 保留關鍵替換字串 Parser (Engine) –搜尋、取代
目前流行的樣板系統 Smarty : Template Engine PHPLIB Template FastTemplate http://smarty.php.net PHPLIB Template http://www.sanisoft.com/phplib/manual/template.php FastTemplate http://www.thewebmasters.net/php/FastTemplate.phtml
樣板系統實做 網頁設計端實作 設計兩個風格不同的個人網頁 至少包含四個項目 將顯示項目替換成關鍵字串 如 {NAME}、{INSTEREST}
樣板系統實做 姓名:大土星 年齡:幾億歲 興趣:嘿嘿嘿 夢想:冷死你 我的名字叫做大土星, 今年幾億歲了,興趣是 嘿嘿嘿,未來的夢想是 HTML1 HTML2 姓名:大土星 年齡:幾億歲 興趣:嘿嘿嘿 夢想:冷死你 我的名字叫做大土星, 今年幾億歲了,興趣是 嘿嘿嘿,未來的夢想是 冷死你。
樣板系統實做 程式端實作 開設對應的資料庫 建立資料表、欄位 撰寫測試網頁 選出資料 印出資料
樣板系統實做 Parser 端功能 開檔 fopen()… 搜尋取代 str_replace() ereg、pereg 顯示資料
樣板系統實做 程式端改寫 將要echo的資料存入變數 引入相關的檔案(parser.php ,sql.php) 進行替換
變換網站風格 透過同一隻程式,套用兩版風格 show.php?style=A show.php?style=B
樣板系統實做 HTML1 我的名字叫做大土星, 今年幾億歲了,興趣是 嘿嘿嘿,未來的夢想是 冷死你。 HTML2 A | B 姓名:大土星 年齡:幾億歲 興趣:嘿嘿嘿 夢想:冷死你 我的名字叫做大土星, 今年幾億歲了,興趣是 嘿嘿嘿,未來的夢想是 冷死你。 HTML2 A | B
小結 夢寐以求的寫作方式 網站設計可以無痛換版 程式設計師可以擺脫網頁設計夢魘 效率的考量 有得必有失 Parser 好壞與整體效率成正比
作業 自訂風格的自我介紹 必須採用 [程式 -> Parser -> 純網頁] 三合一寫作 免資料庫可
參考網站 PHP Bible PHP 官方網站 Google http://www.php.net http://dslab.csie.ncu.edu.tw/~happyman/book/cphp3/index.php.htm PHP 官方網站 http://www.php.net Google http://www.google.com.tw
下一份講義 PHP架站機導覽 –9/6 樣板化程式寫作–9/7 模組化程式寫作–9/8 HTTP概觀與資料分析粹取–9/9 PHP Team Work 概念導引–9/10
謝謝各位 有任何疑問,聯絡請洽: 寫信給我: 電話聯絡: http://best.cycu.edu.tw 中原熊蓋站 - 公用討論區 saturn@cna.cycu.edu.tw saturn@ax.com.tw 電話聯絡: 0928-389698