—|controllerphp
—|Home.phphtml
—|model數組
—|view架構
—|welcome.php框架
—|index.php學習
首頁
index.php
經過得到地址欄中的路由名稱得到對應控制器以及控制的方法名,經過require引入到index.php首頁中。經過引入的對應控制器的類實例化一個對象,對象調用路由地址映射的方法,實現對視圖層的調用顯示。ui
/index.php
首頁代碼實現:atom
<?php
# 獲取當前的服務地址
$server = $_SERVER;
#獲取到當前訪問的主機名以後的URI
$path = $server['REQUEST_URI']; # /test/index.php/home/welcome
$path = ltrim($path, '/'); # 去掉得到的路徑前的 /
$controller_method = explode('/', $path); # 根據 / 得到分割數組來取得控制器名字和對應方法
$controller = ucfirst($controller_method[2]); # 將控制器名字的第一個更換爲大寫
$method = $controller_method[3]; # 對應的方法名
require_once __DIR__.'/controller/'.$controller.'.php'; # 定位到當前使用的控制器
$obj = new $controller(); //實例化控制器對象
$obj->$method(); //控制器對象調用目標方法
exit($obj);
/controller/Home.php
控制器代碼實現:spa
<?php
class Home{
public function index(){
echo 'hello MVC';
}
public function welcome(){
require_once __DIR__.'/../view/welcome.php';
}
}
/view/welcome.php
視圖層代碼實現:設計
基本上大部分框架都是基於MVC架構實現的,懂得基本的MVC框架設計的原理,有助於咱們學習框架,以及對良好的框架的應用更加駕輕就熟,並能很好地理解其中的設計思想,慢慢演化成爲一個有想法的Coder。