美文网首页
单例模式

单例模式

作者: 散装咖啡 | 来源:发表于2017-05-29 13:10 被阅读3次
    /**
    1,普通类
    2,封锁new操作
    3,留个接口来new对象
    4,getIns先判断实例 
    5,用final,防止继承时,被修改权限
    6,封锁clone
    */
    class sigle
    {
        protected static $ins = null;   
        public static function getIns()
        {
            if( self::$ins === null )
            {
                self::$ins = new self();
            }
            return self::$ins;
        }
        
        public function get()
        {
            return 1;
        }
        //方法前加final,不能被覆盖.类前加final,不能被继承
        final protected function __construct(){ }
        final protected function __clone() { }
    }
    
    $s1 = sigle :: getIns();
    //$s2 = clone $s1;
    echo $s1->get();
    

    参考文章 https://wenku.baidu.com/view/b4c78b4702768e9951e738fb.html

    相关文章

      网友评论

          本文标题:单例模式

          本文链接:https://www.haomeiwen.com/subject/mgbkfxtx.html