PHP单例模式,工厂模式

PHP设计模式

单例模式

单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。

//三私一公
class single{
	//存放实例;
	private static $_instance = null;
	//私有的构造方法
	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();
		}
		// mysqli
		class mysqli1 implements mysql(){
			public function connect(){
				echo "mysqli";	
			}
		}
		// pdo 
		class pdo2 implements mysql(){
			public function connect(){
				echo "pdo";
			}
		}
		class SimpleFactoty{
			static function createMysql(){
				return new mysqli1;
			}	
			static function createPdo2(){
				return new pdo2;
			}
		}
		$mysql = SimpleFactoty::createMysql();
		$mysql->connect();
		$pdo = SimpleFactoty::createPdo2();
		$pdo->connect();

猜你喜欢

转载自blog.csdn.net/golang_gao/article/details/88553989