单例模式就像一个人有一个大脑、当我们要思考的时候只能用大脑。也就一个实例对象。

  多例模式就像一个人可以有两个收一样、可以选择其中一个用、或者两只手其上证、但是还是有一个数量的限制。就像一个正常的人都有两只手。

   贴代码

 

 
  
  1. <?php 
  2. /** 
  3.  * 多例模式 
  4.  * @author youjw221@gmail.com 
  5.  * @QQ 2313090176 
  6.  * 
  7.  */ 
  8. class Multi  
  9.     //最多产生的实例个数 
  10.     private static $_maxInstanceNum = 2; 
  11.     //存放实例的数组 
  12.     private static $_instanceArr = array(); 
  13.     //用于标识对象 
  14.     private $tmp
  15.      
  16.     //控制初始化实例数组参数 
  17.     private static $is_init = 0; 
  18.      
  19.     /** 
  20.      * 初始化对象的数组 
  21.      */ 
  22.     static function intStance() 
  23.     { 
  24.         ifemptyempty( self::$is_init ) )//防止多次调用 
  25.         { 
  26.             for$i=0;$i<self::$_maxInstanceNum;$i++) 
  27.             { 
  28.                 self::$_instanceArr[$i] = new Multi($i); 
  29.             } 
  30.             self::$is_init++; 
  31.         } 
  32.     } 
  33.     /** 
  34.      * 私有话构造函数 
  35.      * @param unknown_type $i 
  36.      */ 
  37.     private function __construct($i
  38.     { 
  39.         $this->tmp = $i
  40.     } 
  41.      
  42.     /** 
  43.      * 获取多例中的一例 
  44.      */ 
  45.     public static function getInstance() 
  46.     { 
  47.         self::intStance(); 
  48.         $randNum = rand(0, 1); 
  49.         return self::$_instanceArr[$randNum]; 
  50.     } 
  51.      
  52.     //测试用 
  53.     public function testTmp() 
  54.     { 
  55.         echo $this->tmp; 
  56.     } 
  57.  
  58. ?>