PHP设计模式
单例模式
单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。三私一公
//三私一公
class single{
//存放实例;
private static $_instance;
//私有的构造方法
private function __construct(){
}
//私有的克隆
private function __clone(){
}
//公有的获取实例的方法
public static function getInstance(){
if(!(self::$instance instanceof single)){
self::$_instance = new single;
}
return self::$_instance;
}
}
$single = single::getInstance();
工厂模式
一个类通过本身的静态方法来,实例化一个类并返回一个实例对象;降低代码耦合,提高系统可维护 可扩展
<?php
interface mysql{
public function connect();
}
//mysql
class mysqli implements mysql(){
public function connect(){
echo "我是mysqli";
}
}
//pdo
class pdo implements mysql(){
public function connect(){
echo "我是pdo";
}
}
class transFactory{
public static function factory( $transport ){
switch( $transport ){
case 'mysqli':
return new mysqli();
break;
case 'pdo':
return new pdo();
break;
}
}
}
$connect = transFactory::factory('mysqli');
$connect->connect();