MVC框架執行流程和目錄結構

2021-07-25 14:39:20 字數 2410 閱讀 7308

1.        框架執行流程

用最通俗最簡單的方法來解釋乙個mvc框架的執行流程: 通過入口檔案載入函式庫,載入自動載入的類,然後啟動框架,啟動框架後通過路由解析位址,然後將位址中解析出控制器名稱,載入控制器,通過處理控制器的業務邏輯來返回結果

2.        目錄結構

3.        入口檔案

定義框架目錄和核心檔案目錄等常量,並引入核心檔案。

<?php 

/*** @入口檔案

* 1.定義常量

* 2.載入函式庫

* 3.啟動框架

*///定義常量 當前框架所在的根目錄

define('srion'

,realpath('./'));

//框架核心檔案所在的目錄

define('common'

,srion

.'/common');

//框架的應用目錄(專案檔案目錄)

,srion

./**

* 是否開啟除錯預設

* @default true

*/define('debug'

,true);

//如果開啟除錯模式 就開啟php.ini中的錯誤模式

if(debug)else

//引入函式庫

include

common

.'/base/function.php'

;//引入框架核心檔案

include

srion

.'/common/kernal.php'

;spl_autoload_register('\common\kernal::load');

//啟動框架

\common\kernal::

run();

4.     函式庫與框架核心檔案函式庫:在\common\base\目錄中建立檔案function.php 檔案中定義我們框架中常用的一些函式或方法(在這裡我先定義了乙個輸出或列印變數的函式以做示範)

<?php 

function

p($val)else if (is_null($val))else

}框架核心檔案(又稱核心或基類檔案)

在框架的common目錄(框架核心目錄)中建立基類檔案kernal.php,請注意明明空間和**規範,檔案中的run方法是為了測試框架,即啟動框架

<?php

namespace common;

class kernal

}

4.      自動載入類在核心檔案中定義靜態方法load(),$class引數在下面會有講解

<?php 

namespace common;

class kernal

static function

load ($class)

elseelse}}

}

當我們需要的類不存在的時候,就會觸發入口檔案中的這個方法  來呼叫我們需要自動應用的類,

spl_autoload_register('\common\kernal::load');  

//引數為括號內的內容 當我們使用 $class

= new \common\kernal::load;時new 後面的類名將作為$class引數傳入我們的自動載入類

持續更新中,請訂閱本文以獲取更新內容。。。

MVC執行流程

第一步 發起請求到前端控制器 dispatcherservlet 第四步 前端控制器呼叫處理器介面卡去執行handler 第五步 處理器介面卡去執行handler 第六步 handler執行完成給介面卡返回modelandview 第七步 處理器介面卡向前端控制器返回modelandview mod...

mysql結構和執行流程

mysql整體結構大致分三層 mysql客戶端 用來處理 連線處理,授權認證,安全等功能 核心服務層 用來查詢解析,分析,優化,快取,內建函式 如時間 數學 加密等函式 所有的跨儲存引擎的功能也在這一層實現 儲存過程 觸發器 檢視。儲存引擎 負責mysql中的資料儲存和提取,每種儲存引擎都有其優勢和...

MVC框架和MTV框架

mvc,全名model view controller,是軟體工程中的一種軟體架構模式,把軟體系統分為三個基本部分 模型 model 檢視 view 和控制器 controller 具有耦合性低,重用性高 生命週期成本低等優點。django框架的設計模式借鑑了mvc框架的思想,也是分成三部分,來降低...