php實現單例類工廠--傳遞同一個類名只產生僅僅一個物件
阿新 • • 發佈:2018-11-24
單例類工廠
用來傳遞類,併產生相應的單例物件,但是物件需要引入這個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(類名)就會只生產一個物件