爲了內部使用(無需外部訪問),我需要將一個簡單/小型的網站相當快地放在一起,它將包含一些表單和簡單的交互式頁面。使用/index.php作爲網站的簡單模板和文檔路由器?
我並不是真的想要CMS的維護開銷,但爲了讓每個頁面具有一致的外觀和感覺等,能夠讓每個頁面都基於一個通用模板來包裝圍繞獨特的頁面內容,包括HTML頭,標題,網站導航,頁腳等。
一種方法是在每個單獨的頁面中通過PHP包含各種片段,但涉及每個頁面的重複,並且不會如果我決定稍後可能需要大幅度改變事情,那麼它的規模會很好。
另一種方法是使用主DocumentRoot index.php文件作爲模板,而不是讓它包含請求的頁面'在'內部(這樣每個其他頁面實際上只是一個部分文件定義'title'和'body'的變量(用於主頁面主體內容))。
我看到,我可以用$_SERVER['PATH_INFO']
提取所需的文件路徑(相對於DocumentRoot的)和$_SERVER['REQUEST_URI']
讓整個請求字符串(如果有可能是任何GET
參數);對於索引頁面本身的實際內容,我可以讓它包含一個替代名稱的文件;並且Apache重寫規則中必須有某種方式可以從最終的URI中消除index.php ..但我還沒有想到通過比這更進一步。
我相信這肯定是以前遇到很多次的場景。我可以花上幾天的時間思考並重新發明自己的車輪,但我沒有時間去做這件事,在任何情況下它可能都不會很好地利用它。
有沒有人有一些現成的「quickie」代碼,對於這個「足夠好」,或者知道「正式」發佈的東西(在這一點上,一個快速入侵的工具會變成一個實際的軟件包?
感謝您的任何建議。
MVC框架處理您計劃實現的大部分內容。如果你正在尋找相當準系統的東西,你可以嘗試MO框架... http://github.com/interwap/mo-framework –
感謝您的建議。不幸的是,我使用的網絡服務器只有PHP 5.3。 (你的Mo框架說它需要PHP 5.6。) – dave559