用 PHP5 打造簡易的 MVC 架構

摘要

這是來自PHPit的Dennis Pallett所寫的一篇文章,在這篇交裡你將學習到如何用PHP+SPL來製作出簡單的MVC 系統。

Introduction

在這篇教學中你的環境設定必須是PHP5.1以上的版本並且安裝了SPL的功能,這篇教學中會告訴你如何建構簡單的Model-View-Controller系統,這是大型的網站應用程式最常見的設計模式,我將給你從開始到完整的MVC系統所有需要的步驟。

進入點

MVC系統最重要的一件事就是它只有一個進入點:

<?phpinclude (‘global.php’);

// Rest of the actual page code here
?>

我們將有一個單一的頁面來處理所有的請求,這個意思就是我們不需要在每次要新增一個頁面時就include global.php,這單一的進入點的程式我們會叫做index.php,這時候看起來會像這樣:

<?php 

// Do something?>

就像你看到的,index首頁尚未做任何事,但是之後沒多久你會看到。

為了確使所有的請求都會到index首頁我們會使用mod_rewrite引擎來設定.htaccess的RewriteRule,將下面的程式碼放入.htaccess中,並將該檔案置於index.php同一個路徑中。

RewriteEngine onRewriteCond %{REQUEST_FILENAME} !-f

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中:

# Startup tasks (define constants, etc)require ‘includes/startup.php’;

感謝你看到這裡,很快就可以離開了,但最好的獎勵行動就是按一下幫我分享或留言,感恩喔~

點我分享到Facebook

頁次: 1 2 3 4 5

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *