PHP - 工厂模式


<?php

interface db{

  function  conn();

interface Factory{

  function  createDB();

class dbmysql implements db{

  public function conn(){

    echo '';

class dbsqlite implements db{

  public function conn(){

    echo '';

}

class mysqlFactory implements Factory{

  public function createDB(){

    return new dbmysql();

  }

}

class sqliteFactory implements Factory{

  public function createDB(){

    return new dbsqlite();

}

// 工厂模式 ---- 例如多个类型数据库或者不同支付的时候用

class Factory{

  public static function createDB($type){

    if($type == 'mysql'){

      return new dbmysql();

    }else if($type == 'sqlite'){

      return new dbsqlite();

  }

}

$mysql = Factory::createDB('mysql');

$mysql -> conn();

//方式 2

$mysql = new -> mysqlFactory();

$db = $mysql->createDB();

$db -> conn();

?>

PHP