学习php设计模式 php实现单例模式(singleton)_php技巧
保证一个类仅有一个实例,并且提供一个访问它的全局访问点。 单例模式有三个特点: 1、一个类只有一个实例 2、它必须自行创建这个实例 3、必须自行向整个系统提供这个实例 一、单例模式结构图 二、单例模式中主要角色 <?php/** * 懒汉式单例类 */class Singleton { /** * 静态成品变量 保存全局实例 */ private static $_instance = NULL; /** * 私有化默认构造方法,保证外界无法直接实例化 */ private function __construct() { } /** * 静态工厂方法,返还此类的唯一实例 */ public static function getInstance() { if (is_null(self::$_instance)) { self::$_instance = new Singleton(); } return self::$_instance; } /** * 防止用户克隆实例 */ public function __clone(){ die('Clone is not allowed.' . E_USER_ERROR); } /** * 测试用方法 */ public function test() { echo 'Singleton Test!'; } } /** * 客户端 */class Client { /** * Main program. */ public static function main() { $instance = Singleton::getInstance(); $instance->test(); }} Client::main();?> 以上就是使用php实现单例模式的代码,还有一些关于单例模式的概念区分,希望对大家的学习有所帮助。 |