※ 引述《DongFeng (Little Five)》之銘言:
: 現在手邊有幾個之前外包還是前程式留下來待修改的網站...
: 其中有幾個撰寫模式是這樣的...
: index.php include 幾個主要的php檔 header.php left.php body.php footer.php
: 恩...各頁面固定的地方像是header left footer 寫成template沒什麼問題... 重點在
: body.php...
: body.php 裡頭藉由附帶在index.php的get參數 switch($_GET[value])include 對應的頁
: 面
: 每個頁面又各自擁有自己的add edit del功能, 結果就是在index.php後頭又附帶了
: 一個參數去選擇功能
這種寫法我都叫它老template,在以前是很常見的寫法,適用在前台
優點是拆開的部份可以重覆利用,而且拆開的步驟也不複雜,適用在table與 div的切版上
body的地方就根據不同條件再去載入
缺點是美術那邊送過來的 HTML 檔就必須要分屍,如果版面要大異動時,你又得重切一次了
而且只能適用在具有高度重覆性的畫面上,雖然可以切的更細來應付更種情況,但那是惡夢
我曾經遇過中間還分成 left,right 進去後再細分成上、下、左、右的,只能用惡夢形容
: 你以為這樣就結束了嗎?不...
: 各個功能還各自對應了一支存取資料庫的檔案, 結果index.php後頭的參數越來越長了...
: 最糟的狀況就是帶了十個參數就只為了讀取一個商品的頁面...
通常這種情形是用在快速拆卸、低耦合或是高變動的情況下,各自不會相互影響
分開寫其實也挺不錯的,我曾看過一支 dealdata.php 快1千行,裡面把新、刪、修、列
的功能全包進來,然後連一些阿沙不魯的也進來, 反正只要處理資料的全都進來,等於現
在的M、C混合,這也是挺惡夢的
: 這種看似模組化卻又層層疊疊的寫法除了隱藏真實的php檔名以外我真的看不出有什麼好
: 處, 常常為了要搞懂一個頁面怎麼運作要開五個以上的檔案, 想加個功能也要一層一層刻
: 下去...
: 我猜測這大概是MVC還沒盛行前的寫法, 因為我在裡頭還看過language = javascript1.2
: 今天主管臉色凝重的(進度delay)開玩笑問我到了第幾層了, 我只能傻傻的回答:大概快到
: 十八層了...
: 嗚...有沒有版友也遇過同樣寫法的...
其實這些過去的寫法也沒什麼不好,你只要摸清楚規則了反而很簡單
--
如果你一出場就拿了絕世好劍,你不會知道原來一支木劍也可以這麼強悍
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 120.119.126.117
※ 編輯: gname 來自: 120.119.126.117 (05/08 10:48)
※ 編輯: gname 來自: 120.119.126.117 (05/08 10:50)