<?php
ini_set("display_errors", "On");
error_reporting(E_ALL | E_STRICT);
//简单工厂
// new mysql('localhost','root','root');
// new mysql();
//这个模式如果换了mysql类或者参数,比如用一百次,就要改一百次
// class mysql(){
// }
// class sqlite(){
// }
//工厂模式
class Factory{
public static function getDB($type){
if($type=='mysql'){
return new mysql();
}elseif($type=='sqlite'){
return new sqlite();
}else{
//报一个异常出去
throw new Exception("Error Processing Request", 1);
}
}
}
//获取db 时
echo (Factory::getDB('mysql'));
//意义何在?
//如果有上百个php文件,每个都需要new一次,而且每个人都有分支,给后续管理极大的不便。
//上面是把100多个归纳到一个函数里,想要数据都从这个函数来。
//有分支,有变化的时候,变化只应该位于一处