用純php實現MVC框架,檔案目錄模仿yii2

2021-07-09 01:45:38 字數 1566 閱讀 8358

一.首先是,是搭建框架,檔案目錄如下(這是我用自己的框架開發的乙個體重管理系統的專案)

1.1. 入口檔案

根據這個目錄,我們首先要配置乙個入口檔案,在web資料夾下的index.php檔案。

**如下

<?php 

//這是入口檔案,根據引數來獲取模組,控制器方法

// $modules = $_get['module']; //模組 暫時先不區分模組

//引入配置檔案

include_once ('../config/main.php');

if(isset($_get['controller']))else

}else

$controller_name = $controller.'controller';//模組檔名 方便例項化

$method_name = 'action' . $method;

if (file_exists('../controllers/'.$controller.'controller.php'))

else

?>

這裡要引入config的配置檔案。然後其他的原理就是,根據url去獲取呼叫的controller和method。根據controller去找到對應的控制器檔案,然後判斷這個控制器檔案是否存在,如果存在則用include_once引入這個控制器檔案,然後new這個類。然後通過呼叫類的方法把這個方法名放上去。就實現了呼叫指定控制器裡面的指定方法。

其次,設定乙個預設的控制器和方法,保證什麼值都沒有的時候去呼叫主頁。

1.2.控制器**

已首頁的控制器為例子,**如下:

<?php 

if(!defined('item_name') || item_name !='test') die();

include_once("../lib/bcontroller.php");

include_once("../models/weightmodel.php");

include_once("../models/usermodel.php");

class

defaultcontroller

extends

bcontroller

}//render方法放在bcontroller裡面

public

function

render

($file_path, $data)

控制器主要做的是將model引入進來,然後new方法例項化這個類。然後呼叫裡面的方法,在呼叫view層**的時候。就用include_once來引入檢視層的php檔案,這樣就能實現yii2裡面說的,在檢視層使用php**的方式。然後檢視層因為是直接引入進來的。所以可以直接使用控制器所設定的引數。然後因為我是單獨寫了乙個render的方法。所以要把引數傳入render方法就好。

1.3 model層**

PHP之簡單實現MVC框架

1.概述 mvc全名是model view controller,是模型 model 檢視 view 控制器 controller 的縮寫,一種軟體設計典範,用一種業務邏輯 資料 介面顯示分離的方法組織 將業務邏輯聚集到乙個部件裡面,在改進和個性化定製介面及使用者互動的同時,不需要重新編寫業務邏輯。...

PHP之簡單實現MVC框架

1.概述 mvc全名是model view controller,是模型 model 檢視 view 控制器 controller 的縮寫,一種軟體設計典範,用一種業務邏輯 資料 介面顯示分離的方法組織 將業務邏輯聚集到乙個部件裡面,在改進和個性化定製介面及使用者互動的同時,不需要重新編寫業務邏輯。...

實現自己的MVC框架 php 1

從封閉的大學出來,重新接觸到著時時都在變化的社會的時候,不禁流下了眼淚,同時站在原地感嘆著這世界。從哥哥那裡聽說mode2和mvc的概念,到開始看mvc的文章,又到現在的想法,我又感覺到了久違的熱情,呵呵。在了解到mvc模型的可行性後,我打算將mvc應用於自己的畢業設計 web交易平台 這本身就是個...