這是一篇介紹如何用php來實現MVC模式開發的檔案。關於MVC模式的技術文章網上隨處可以,所以這篇檔案將不再講述這種模式的優缺點(實際上是我說不清楚),子講他的php技術實現。並且在以後的系列文章中也是以講技術為主。
一、實現統一的網站入口(在MVC中調用Controler層的方法,也就是控制層)
大家也許經常在網上看到這樣的路徑(http://www.aaa.com/aaa/bbb/aaa?id=5),讓人不解,這樣的網站的實現方式有幾種可能性:
1、隱藏檔案的副檔名,對這種做法的好處,眾說紛紜,不過個人覺得沒有必要;
2、用了網站的重新導向規則,實現虛擬路徑;
3、強制檔案解析的方式,實現虛擬路徑。
用第23種方法可以實現網站的統一介面,合理的整合網站,更好的體現網站的安全性和架構,用這兩種方式的網站大多是使用“MVC”模式構
建和實現的。
下面是一個例子
訪問路徑如下:
....../test/*******/Bad ....../test/*******/Good (其中的"******"可以用任何字串替換,"......."是你的web路徑)
|
檔案的目錄結構如下
|-- .htaccess |-- test |-- Application.php |-- Controler/GoodControler.php |-- Controler/BadControler.php
注意 檔案".htaccess",在windows下不能直接建立的,可以在命令列模式下建立.
|
檔案0:(.htaccess)(這個檔案是更改apache的配置方式用的)
<files test> forcetype application/x-httpd-php </files> |
檔案1:(test.php)
<?php /*------------------------------------- * test.php * * 作為你的網站的入口的檔案 * 用來初始化和入口 * 調用執行Controler的調用 * -------------------------------------*/ require "Application.php"; $aa = new Application(); $aa->parse(); $aa->go();
?>
|
檔案2:(GoodControler.php)