一、入口
入口檔案可以是單檔案也可以是多檔案,我現在用的基本屬多檔案,但是入口檔案內容基本都是一樣,為以後的修改其它的入口方式做基礎,
複製** **如下:
php
require 'command/config.php';
require 'command/app.php';
app::run($config);
?>
首先不用說大家也看得出來,載入系統配置檔案,然後通過引擎來載入系統配置。
二、引程式設計客棧擎
複製** **如下:
public function run($config)
defined('keheng_debug') or define('keheng_debug',true); // 是否除錯模式
self::setpath(); //設定系統路徑
self::getdatabase(); //測試資料庫
self::loadlib(); //載入庫
self::getrouteconfig(); //執行路由並載入控制器 }
引擎裡面首先設定配置檔案,再測試系統引數,載入系統模組,取得配置在的**資訊檔案,設定**需要的路徑,測試系統配置裡面的資料庫引數,載入庫檔案,最後是載入路由獲取請求位址。不知道這樣的流程對不對,只是我根據自己的學習自己編寫的一套而已,但裡面卻缺少快取,具體快取應該怎麼樣的設定。
這裡的資料庫測試是根據配置用哪一型別的資料庫,再載入對該程式設計客棧型別資料庫操作的封裝檔案。
三、路由
以下為上面的最後乙個函式,載入控制器檔案,根據配置檔案獲得請求方式。
複製** **如下:
public function getrouteconfig()
if(file_exists(contr_dir.'controller.php'))else }
四、控制器
控制器檔案也蠻簡單,只是根據路由分析出的位址來載入模型檔案和視**件,
複製** **如下:
class controllerelse
}else
unset($views);
}else
} }
但裡面有個注意的是模型檔案裡面需要輸出的資料全部都是通過views這樣乙個類進行輸出,包裡視**件裡面所有的系統引數等。不知道,這種方法是不是顯示得多此一舉,原來是想把所有要輸出的資料進行封裝。
其它的模板檔案也都是用類進行了封裝,具體怎麼寫高人應該都知道了吧,這些只是我的個人見解,但是快取應該怎麼寫,現在還是乙個模糊的概念,是不是在讀取資料的時候,方向應該是讀取快取,然後再判斷快取是否存在,再判斷是否需要建立快取呢?具體操作方法還是不是很明白。希望能有高人指點指點。
本文標題: 有關php中mvc的開發經驗分享
本文位址:
PHP中的MVC運用
11.15.2011,架構,by admin.首先我來舉個例子 乙個簡單的文章顯示系統 簡單期間,我們假定這個文章系統是唯讀的,也就是說這個例子將不涉及文章的發布,現在開始了。由於只涉及資料庫的讀取,所以我定義了兩個inte ce 1inte ce dataoperation 2 上面這inte c...
iOS開發中的MVC
m model,個人理解為業務邏輯,也就是你的程式處理了一些什麼樣的業務,一般是一系列的api供controller呼叫 v view,檢視,也就是你的程式外觀 ui,你所能看到,觸控到的,程式的展現 c controller,控制器,個人理解為程式邏輯,作為m和v溝通的橋梁,在ios開發中經常被放...
php中的MVC模式運用
php中的mvc模式運用 首先我來舉個例子 乙個簡單的文章顯示系統 簡單期間,我們假定這個文章系統是唯讀的,也就是說這個例子將不涉及文章的發布,現在開始了。由於只涉及資料庫的讀取,所以我定義了兩個inte ce inte ce dataoperation 上面這inte ce定義了讀取資料的介面,s...