一.首先是,是搭建框架,檔案目錄如下(這是我用自己的框架開發的乙個體重管理系統的專案)
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交易平台 這本身就是個...