单例类工厂
用来传递类,并产生相应的单例对象,但是对象需要引入这个ModelFacetory类文件以及通过ModelFacetory::M(类名)这种方式来直接实例化 获得对象.
class ModelFactory{
static $class_instance=array(); // 存的是对象 单例对象
static function M($class_name){
if(
!isset(static::$class_instance[$class_name])
|| // 或者
!(static::$class_instance[$class_name] instanceof $class_name)
){ //static 是指当前这个方法的类 如过 静态属性中不存在这个类
static::$class_instance[$class_name]=new $class_name();
}
return static::$class_instance[$class_name];
}
}
每次ModelFacetory::M(类名)就会只生产一个对象