目錄結構:
—|controller
—|Home.php
—|model
—|view
—|welcome.php
—|index.php
基本原理:
首頁
index.php通過獲得地址欄中的路由名稱獲得對應控制器以及控制的方法名,通過require引入到index.php首頁中,通過引入的對應控制器的類實體化一個物件,物件呼叫路由地址映射的方法,實作對視圖層的呼叫顯示,
實作具體代碼:
-
/index.php首頁代碼實作:
<?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控制器代碼實作:
<?php
class Home{
?
public function index(){
echo 'hello MVC';
}
?
public function welcome(){
require_once __DIR__.'/../view/welcome.php';
}
}
-
/view/welcome.php視圖層代碼實作:
<!DOCTYPE html>
<html>
<head>
<title>welcome</title>
</head>
<body>
<div style="font-size: 18px;text-align: center;color: red;">welcome to hefei</div>
<?php echo date('Y-m-d H:i:s')?>
</body>
</html>
結束語:
基本上大部分框架都是基于MVC架構實作的,懂得基本的MVC框架設計的原理,有助于我們學習框架,以及對良好的框架的應用更加得心應手,并能很好地理解其中的設計思想,慢慢演化成為一個有想法的Coder,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/96349.html
標籤:PHP
