php 注册器模式 工厂模式

Posted brady-wang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 注册器模式 工厂模式相关的知识,希望对你有一定的参考价值。

<?php
/**
 * 注册器模式
 * 全局共享和交换对象
 */

class Register
{
    public static $objects; // 定义全局数组

    // 保存对象到全局数组
    public static function set($name,$object)
    {
        self::$objects[$name] = $object;
    }

    // 获取某个对象
    public static function get($name)
    {
        if (!isset(self::$objects[$name])){
            return false;
        }
        return self::$objects[$name];
    }

    // 获取全部对象
    public static function getAll()
    {
        return self::$objects;
    }

    // 删除指定对象
    public function remove($name)
    {
        unset(self::$objects[$name]);
    }
}

class Db
{
    public function say()
    {
        echo 444444444444;
    }
}


class Factory
{
    public static function getDb()
    {
        $db = new Db();
        Register::set(\'db\',$db);
        return $db;
    }
}

Factory::getDb();
$db = Register::get(\'db\');
var_dump($db->say());

 

https://zhuanlan.zhihu.com/p/110541976

https://cloud.tencent.com/developer/article/1556340

https://www.cnblogs.com/rxbook/p/10452582.html

以上是关于php 注册器模式 工厂模式的主要内容,如果未能解决你的问题,请参考以下文章

php注册数模式

php设计模式 工厂单例注册树模式

PHP面向对象之选择工厂和更新工厂

PHP的设计模式之工厂模式

PHP设计模式笔记三:三种基本设计模式(工厂模式单例模式注册树模式) -- Rango韩老师 http://www.imooc.com/learn/236

PHP模式设计之单例模式工厂模式注册树模式适配器模式观察者模式