###### 我眼中的MVC
#### MVC
MVC(即模型Model、控制器Controller、視圖View),模型用于操控數據庫,簡化數據庫操作,控制器用代碼,通過模型類訪問數據庫并拿到數據,將其進行處理后傳遞給視圖,視圖用于顯示網頁,將控制器傳遞來的數據經過html、css美化后顯示在網頁中。
我認為,對于一個網站,核心是url(網址),網址是網站的靈魂,每一次的訪問,都要通過url來進行,所以PHP拿到一個網址后,首先要做的就是解析url,從網址中解析出模塊名,控制器名和方法名,然后通過模塊名和控制器名在真實的路徑中查找到這個控制器類所在的路徑,并將其include進來,實例化后執行方法。
綜上所述,結合上一章的TP執行流程,我覺得必須的步驟有幾個:
比如說對于一個網址:www.example.com/index.php?m=Index&c=IndexController&a=index¶ms1=abc¶ms2=2
1.當訪問這個網址時,首先經過單入口文件index.php:
index.php中將引入核心文件core.php
2.core.php
1.定義所有系統常量,腳本執行的所有路徑、是否是調試模式、系統應用目錄、控制器類后綴名
2.引入配置文件
3.引入系統函數庫
4.引入系統核心執行類App
5.執行App類的run()函數
3.App類以及run函數
1.run函數
1.設置字符集
2.系統類映射
3.自動加載注冊方法
4.實例化路由類:new Route()
2.App類中的其他函數就是1.中提到的設置字符集,類映射,自動加載注冊的自定義方法
4.實例化路由
1. 實例化路由類后,會自動執行構造函數:
1.構造函數會執行URL解析函數,從當前URL中獲得模塊名,控制器名和方法名
2.解析后執行的一個函數,用于實例化控制器類,并調用解析出來的方法
2.路由類中的其他函數:
1.url解析函數
2.控制器類實例化及調用函數
這樣,就把TP的執行流程精簡了。現在框架的執行流程介紹完了,接下來就要按照這個流程來寫框架了,為了方便,我給自己的MVC框架起名為S,為了讓框架結構更加清晰,我先創建出了框架的目錄結構如下:

下一章將要介紹目錄結構和一些準備工作,將正式開始制作框架啦~