<?php
namespace Tools;
/*工厂模式
工厂模式就是用一个工厂类来替换掉直接new对象的操作,直接用工厂对象返回实例好的对象。通俗的说,以前创建一个对象要使用new,现在把这个过程封装起来了。
工厂模式的最大优点在于创建对象上面,就是把创建对象的过程封装起来,这样随时可以产生一个新的对象。
*/
class Factory{
static function createDatabase(){
$db = new Database();
return $db;
}
}
//一个数据操作类
class Database{
private $_where;
private $_order;
private $_limit;
function where($where){
$this->_where = $where;
return $this;
}
function order($order){
$this->_order = $order;
return $this;
}
function limit($limit){
$this->_limit = $limit;
return $this;
}
}
//普通实例化
//$db = new \Tools\Database();
//工厂模式实例化
$db = \Tools\Factory::createDatabase();
var_dump($db);