<?php /** * 单例模式 * @author Devil * @version v_0.0.1 */ class Singleton { private $parem; /** * [__construct 构造方法] * @param [mixed] $param [参数] */ private function __construct($param) { $this->param = $param; } /** * [Instantiate 静态方法, 用于实例化类] * @param [mixed] $param [参数] * @return [object] [类对象] */ public static function Instantiate($param) { static $object = null; if(!is_object($object)) $object = new self($param); return $object; } /** * [Show 测试方法] */ public function Show() { print_r($this->param); } } /** * 使用列子 */ $param = array('test', 'demo', 'devil'); $obj = Singleton::Instantiate($param); $obj->Show(); /** * $obj = Singleton::Instantiate($param); * 不管在项目中多少次这么对类进行实例化,都不会重复创建类对象。 * $object 被定义成静态变量,不能被第二次赋值。 * 只要$object是一个对象就直接返回当前对象,则进行实例化并返回。 * * 单例模式可以防止重复创建对象,减轻内存开销。 */ ?>
发表评论: