单例模式是指在应用程序的范围内只对指定的类创建一个实例。
单例模式包含的对象只有一个,就是单例本身。使用单例模式的类通常有一个私有的构造函数和一个私有的克隆函数,确保用户无法通过创建对象或者克隆的方法对其进行实例化。除此以外模式中还包括一个静态私有成员变量$instance 与静态方法getInstance. getInstance 方法负责对其本身实例化,然后将这个对象存储在$instance静态变量中,以确保只有一个实例被创建。
以下是一个简单的单例模式例子,通过对单例属性$switch的设置实现了对开关状态的改变。
<?PHP class Lock { static private $instance = NULL; private $switch = 0; static function getInstance(){ if(self::$instance == NULL){ self::$instance = new Lock(); } return self::$instance; } private function Lock() { } private function _clone() {} function setLock() { if($this->switch == 0) { $this->switch = 1; } else $this->switch = 0; } function getLock() { return $this->switch; } Lock::getInstance()->setLock(); if(Lock::getInstance()->getLock() == 0) echo "开关状态:关"; else echo "开关状态:开"; } ?>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。