摘要
這是來自PHPit的Dennis Pallett所寫的一篇文章,在這篇交裡你將學習到如何用PHP+SPL來製作出簡單的MVC 系統。
Introduction
在這篇教學中你的環境設定必須是PHP5.1以上的版本並且安裝了SPL的功能,這篇教學中會告訴你如何建構簡單的Model-View-Controller系統,這是大型的網站應用程式最常見的設計模式,我將給你從開始到完整的MVC系統所有需要的步驟。
進入點
MVC系統最重要的一件事就是它只有一個進入點:
// Rest of the actual page code here
?>
我們將有一個單一的頁面來處理所有的請求,這個意思就是我們不需要在每次要新增一個頁面時就include global.php,這單一的進入點的程式我們會叫做index.php,這時候看起來會像這樣:
// Do something?>
就像你看到的,index首頁尚未做任何事,但是之後沒多久你會看到。
為了確使所有的請求都會到index首頁我們會使用mod_rewrite引擎來設定.htaccess的RewriteRule,將下面的程式碼放入.htaccess中,並將該檔案置於index.php同一個路徑中。
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?route=$1 [L,QSA]
首先我們會使用RewriteCond命令來確認檔案是否存在,如果不存在我們會將它導向到index.php,我們也必須其他的檔案是否存在,因為我們也想要能夠使用非一般的PHP檔案,像是JPEG的圖檔。
假如你不能使用.htaccess或是mod_rewrite,你就必須手動地將請求導向到index.php,也就是你的連結會像是這樣”index.php?route=[request-goes-here]”,例如,index.php?route=chat/index。
現在所有的請求都會經過單一的進入點,我們可以開始撰寫index.php,我們必須做的第一件事是一些起始的工作,新增一個includes的目錄,然後在該路徑中新增一個startup.php的檔案,然後將下列的程式碼加入index.php中: