91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

(PHP學習筆記)工廠類在MVC框架中的運用

發布時間:2020-07-06 20:46:02 來源:網絡 閱讀:313 作者:w1sw 欄目:數據庫

    在基本的MVC框架模型中,會引用到數據庫和模板文件。但是不同的開發者會選擇不同的數據庫以及模板引擎。因為在實際開發的過程中,有可能會更換數據庫或者是模板引擎,如果針對每個數據庫以及模板引擎都來寫一個接口來調用的話,將會十分繁瑣。所以工廠類的出現,很好的解決了這個問題。

    在此我定義一個數據庫工廠類以及一個模板引擎工廠類。

1、首先來看看數據庫工廠類:

    在此假設我使用的是mysql數據庫,數據庫工廠類中封裝了實例化數據庫(使用何種數據庫)的方法以及數據庫操作(增刪改查等等)的相關方法。

    在使用數據庫工廠類的時,首先確定使用的是什么數據庫。在此我就需要在數據庫工廠類中寫一個初始化方法,如下所示,$dbtype是指定使用的數據庫類型,$config則是傳入該數據庫的配置信息。

public static function init($dbtype, $config) {
self::$db = new $dbtype;
self::$db->connect($config);
}

    初始化數據庫后,就可以調用各個數據庫的操作方法,我們在工廠類中定義的方法是可供任意種類的數據庫使用的。例如插入方法:

public static function insert($table,$arr){
return self::$db->insert($table,$arr);
}

    在此定義兩個參數,一個表名,一個插入的數據。然后調用的是mysql數據庫的insert方法,來實現具體的插入操作。

    總結:使用數據庫工廠類,即為了所需的數據庫相關功能定義了一個標準,無論傳入什么數據庫,都可以獲取到該數據庫的實例化對象。我們只需要定義好工廠類中各操作方法以便調用實際的數據庫操作方法即可。


2、模板引擎工廠類

    與數據庫工廠類相似,在模板引擎工廠類中,不針對任何一種模板文件。同樣的定義了初始化模板引擎的方法,以便確定使用何種模板引擎。

    在此假設我們使用的模板引擎為Smarty模板,初始化方法如下:

public static function init($viewtype,$config){
self::$view = new $viewtype;
foreach($config as $key=>$value){
self::$view -> $key = $value;
}

    $viewtype為視圖模板的類型,$config為配置信息(此處為數組文件)。

    在確定好視圖模板引擎后,與數據庫工廠類一樣,可以定義相關功能的方法,來調用實際的模板引擎操作方法即可。


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

夏邑县| 白玉县| 兰州市| 余江县| 额尔古纳市| 天水市| 滁州市| 潜山县| 通海县| 梅河口市| 麻江县| 涡阳县| 城口县| 营口市| 蕉岭县| 汉源县| 阜平县| 孟州市| 揭阳市| 汶川县| 营山县| 策勒县| 山丹县| 子长县| 德江县| 洪湖市| 临武县| 岱山县| 澜沧| 堆龙德庆县| 江口县| 从江县| 泗洪县| 武川县| 营山县| 灵璧县| 台湾省| 漳平市| 林周县| 资讯| 两当县|