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);