从品牌网站建设到网络营销策划,从策略到执行的一站式服务
在基本的MVC框架模型中,会引用到数据库和模板文件。但是不同的开发者会选择不同的数据库以及模板引擎。因为在实际开发的过程中,有可能会更换数据库或者是模板引擎,如果针对每个数据库以及模板引擎都来写一个接口来调用的话,将会十分繁琐。所以工厂类的出现,很好的解决了这个问题。
成都创新互联公司长期为上千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为青羊企业提供专业的成都网站制作、成都做网站、外贸营销网站建设,青羊网站改版等技术服务。拥有十年丰富建站经验和众多成功案例,为您定制开发。
在此我定义一个数据库工厂类以及一个模板引擎工厂类。
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为配置信息(此处为数组文件)。
在确定好视图模板引擎后,与数据库工厂类一样,可以定义相关功能的方法,来调用实际的模板引擎操作方法即可。
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图