PHP之factory

 1 //单例模式之工厂模式
 2     /**
 3 
 4         面向对象的三大特征:
 5             封装,继承,多态。
 6             封装:把一切功能,内部封装,只提供对外的接口。
 7                 访问修饰符。
 8                 接口技术。
 9             继承:一个类的所有成员被另一个类所使用,实现代码的高可用。
10             多态:override.方法的重写。抽象方法。    
11     * 
12     */
13     class Test {
14 
15     }
16     
17 
18     //实现工厂模式
19     function getInstance($class_name){
20         //类列表
21         static $class_list=array();  //静态标识符 函数调用完毕之后不会消失,下次调用还会存在。
22 
23         if (!isset($class_list[$class_name])) { //判断在类数组列表中是否存在$class_name这个类的存在
24             $class_list[$class_name] = new $class_name; //可变类操作
25         }
26         return $class_list[$class_name];
27     }
28 
29     $test = getInstance('Test');
30     var_dump($test);
31     $test1 = getInstance('Test');
32     var_dump($test1);

 

posted @ 2016-12-03 18:29  被时光移动的城市  阅读(616)  评论(0编辑  收藏  举报