该类的作用就是帮助其他的类“生产”对象,也就是说,只要传递给这个“工厂”一个类名,就可以得到一个相应的对象。
工厂生产单例对象
一种单例的实现,但是不是三私一公的实现,而是在生产对象的工厂方法上处理
/** * 利用工厂得到单例对象 */ class Factory { public static function getOBJ($class_name) { static $obj_list = array(); // 保存已经实例化好了的对象 // 类名字就是元素的下标,对象本身就是元素的值 if(!isset($obj_list[$class_name])) { if(file_exists('./' . $class_name . '.class.php')) { include_once './' . $class_name . '.class.php'; } $obj_list[$class_name] = new $class_name; } return $obj_list[$class_name]; } }