工厂模式实现小例子

Original 2018-10-29 13:15:42 135
abstract:<?phpclass Factory{ private static $instance=array(); private function __construct(){ } private function __clone(){} public static function getSingleton($className){ if(!isset(self::$instance[$c

<?php


class Factory{

private static $instance=array();

private function __construct(){

}

private function __clone(){}

public static function getSingleton($className){

if(!isset(self::$instance[$className])){

self::$instance[$className] = new $className();

}

return self::$instance[$className];

}

}


class A{}

class B{}

$a = Factory::getSingleton('A');

$b = Factory::getSingleton('B');

var_dump($a,$a,$b,$b);

//object(A)#1 (0) { } object(A)#1 (0) { } object(B)#2 (0) { } object(B)#2 (0) { }

//工厂模式 相同类只实例化一次


Release Notes

Popular Entries