美文网首页
pattern设计模式

pattern设计模式

作者: 咸鱼前端 | 来源:发表于2019-08-19 16:09 被阅读0次

<?php

/**

  • 单例模式
  • 工厂模式
  • 注册模式
    /
    // 单例模式
    class Site
    {
    public siteName; //本例静态实例 protected staticinstance = null;
    //禁用构造器
    private function __construct(siteName) {this->siteName = siteName; } //获取本类唯一实例 public static function getInstance(siteName = 'PHP中文网')
    {
    if (!self::instance instanceof self) { self::instance = new self(siteName); } return self::instance;
    }
    }
    // 工厂模式
    class Factory
    {
    public static function create()
    {
    return Site::getInstance('www.php.cn');
    }
    }
    //注册树
    /
    *
  • 1.注册:将对象挂到树上
  • 2.获取:将对象从树上取下来
  • 3.删除:把对象吃掉
    */
    class Register
    {
    protected static objects = []; public static function set(key, obj) { self::objects[key] =obj;
    }
    public static function get(key) { return self::objects[key]; } public static function _unset(key)
    {
    unset(self::objects[key]);
    }
    }

Register::set('site', Factory::create());
obj = Register::get('site'); var_dump(obj->siteName);

相关文章

网友评论

      本文标题:pattern设计模式

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