設計網頁該用框架還是範本?
到iT邦幫忙

v121020(iT邦初學者10級)發問:
一開始是用範本來編寫,缺點是寫完後有很多頁面。後來慢慢改用框架(include某檔案),發現很好,而且日後程式可以模組化。但不知道以框架方式來寫,會不會有什麼樣的缺點?

fillano(iT邦大師8級):
你這個問題其實還蠻大的,有意識到需要把View與程式做分離是一個好方向。

能用範本(Template)是個比較好的方法,而且共用的地方還是可以用include來重複使用。框架(我想你是指Frame?)在HTML5裡面會拿掉,能不使用還是漸漸不使用比較好。

前一陣子聽Jace Ju講過「Web程式重構」這個主題,如果你希望程式架構可以更有彈性、更容易維護,不妨參考一下(http://www.slideshare.net/jaceju/web-1494836)。

如果想利用一些PHP Framework來組織你的PHP系統,CodeIgniter是不錯的進入點,雖然功能不夠強,但是夠簡單,比較容易進入。

如果你的程式是以資料管理為主,例如後臺管理介面,有時候使用範本或是hard coding都太費事,這時可以考慮用一些基於資料Model跟Form產生的方法來做,這樣只要建立好資料Model,透過表單定義、資料Mapping及關聯定義等,用程式很快就可以產生介面。

godstamp(iT邦初學者9級):
如果要快速架站,有很多開源社群提供的套件,功能相當完整,同時還考慮到很多你沒考慮到的版本、效能、安全、擴展……等問題,只要專注研究該套件就可以了。

如果是寫後端系統,可能要配合Ajax技巧,讓使用者用起來像應用程式一樣方便,當然就不能老是以網址傳值的方式一直在換頁。

如果像你說,A複製連結給B來介紹產品,呈現結果就要做成像獨立頁面一樣,而不能像應用程式。但還是能做到單一接口接收參數,呈現不同頁面,就看你的系統底層如何規畫。

不過,並非大量使用框架或引入檔案,就表示系統是模組化了。由於我們公司都是自行架設,完全配合我們需求的環境,所以我偏向從程式底層架構全都自行製作,PHP5已相當適用以物件導向來建構系統,善用Namespace(名稱空間)和Autoload,完全以class來撰寫,降低每個class的耦合度,整個系統剩沒幾行的include和require,但複用性極高,可以大量降低重複程式碼與多餘程式碼,而且也改善可讀性和將來擴充的難度;寫下一套系統還可以直接拿來用,大大提升工作效率。

如果你是個程式新手,而且想深入研究程式這個領域,建議可朝物件導向的方向學習,會很有幫助(曾經在程序導向轉為物件導向時,吃了不少苦頭……習慣和觀念很難改過來);在那之前……先學會寫class,提供個網址給你參考,這裡寫得還蠻容易懂的http://203.68.102.46/online_book/content.php?chapter_sn=191。

熱門新聞

Advertisement