zoukankan      html  css  js  c++  java
  • php设计模式之单例模式

    <?php
    /**
     * 单例模式定义:保证一个类仅有一个实例,并提供一个访问它的全局访问点。
     * final 防止类被继承重构
     */
    final class Single{
    	//静态存储单例对象
    	private static $instance;
    
    	private function __construct(){
    		echo "实例化对象" . PHP_EOL;
    	}
    
    	/**
    	 * 返回单例对象
    	 * @Author   feiyu
    	 * @DateTime 2017-02-10
    	 * @since    [version]
    	 */
    	public static function getInterface(){
    		//判断静态属性是否为空或者是否为单例类型
    		if(empty(self::$instance) || !(self::$instance instanceof Single)){
    			self::$instance = new Single();
    		}
    
    		return self::$instance;
    	}
    
    	/**
    	 * 对象工具方法
    	 * @author feiyu
    	 * @dateTime 2017-02-10
    	 */
    	public function test(){	
    		echo "hello word";
    	}
    
    	/**
    	 * 防止类被用于克隆
    	 * @author   feiyu
    	 * @dateTime 2017-02-10
    	 */
    	private function __clone(){
    		trigger_error("禁止克隆该类",E_USER_WARNING);
    	}
    }
    
    $obj = Single::getInterface();
    $obj->test();
    

      

  • 相关阅读:
    代码块
    hp g6 2328tx 加装ssd 机械硬盘安装到光驱位置 问题小结
    thinking java
    命令设计模式
    内部类
    模板方法模式
    UIAlertController
    一个基于qml的网络封装库
    qml package 的使用
    一个QMLListView的例子--
  • 原文地址:https://www.cnblogs.com/feiyujinghong/p/6386153.html
Copyright © 2011-2022 走看看