亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

工廠類在MVC框架中的運用

標簽:
PHP

    在基本的MVC框架模型中,会引用到数据库和模板文件。但是不同的开发者会选择不同的数据库以及模板引擎。因为在实际开发的过程中,有可能会更换数据库或者是模板引擎,如果针对每个数据库以及模板引擎都来写一个接口来调用的话,将会十分繁琐。所以工厂类的出现,很好的解决了这个问题。

    在此我定义一个数据库工厂类以及一个模板引擎工厂类。

1、首先来看看数据库工厂类:

    在此假设我使用的是mysql数据库,数据库工厂类中封装了实例化数据库(使用何种数据库)的方法以及数据库操作(增删改查等等)的相关方法。

    在使用数据库工厂类的时,首先确定使用的是什么数据库。在此我就需要在数据库工厂类中写一个初始化方法,如下所示,$dbtype是指定使用的数据库类型,$config则是传入该数据库的配置信息。

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

    初始化数据库后,就可以调用各个数据库的操作方法,我们在工厂类中定义的方法是可供任意种类的数据库使用的。例如插入方法:

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

    在此定义两个参数,一个表名,一个插入的数据。然后调用的是mysql数据库的insert方法,来实现具体的插入操作。

    总结:使用数据库工厂类,即为了所需的数据库相关功能定义了一个标准,无论传入什么数据库,都可以获取到该数据库的实例化对象。我们只需要定义好工厂类中各操作方法以便调用实际的数据库操作方法即可。


2、模板引擎工厂类

    与数据库工厂类相似,在模板引擎工厂类中,不针对任何一种模板文件。同样的定义了初始化模板引擎的方法,以便确定使用何种模板引擎。

    在此假设我们使用的模板引擎为Smarty模板,初始化方法如下:

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

    $viewtype为视图模板的类型,$config为配置信息(此处为数组文件)。

    在确定好视图模板引擎后,与数据库工厂类一样,可以定义相关功能的方法,来调用实际的模板引擎操作方法即可。


點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消