• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    PHP工厂模式、单例模式与注册树模式实例详解

    本文实例讲述了PHP工厂模式、单例模式与注册树模式。分享给大家供大家参考,具体如下:

    三种基本设计模式

    1、工厂模式:工厂方法或者类生成对象,而不是在代码中直接new
    2、单例模式:使某个类的对象仅允许创建一个
    3、注册模式:全局共享和交换对象

    工厂模式:

    ?php
    namespace IMooc;
    class Factory
    {
      static function createDatabase()
      {
        $db = new Database();
        return $db;
      }
    }
    
    
    $db = IMooc\Factory::createDatabase();
    
    

    工厂模式的好处是,避免Database这个类,在很多个php文件都进行new操作,如果Database这个类发生了一些变更(修改了名字或者参数),那这时候如果不工厂模就需要修改多出了,使用工厂模式,就只需要修改工厂方法即可。

    单例模式:

    ?php
    namespace IMooc;
    class Database
    {
      protected $db;
      private function __construct()
      {
      }
      // 获取数据库操作实例
      static function getInstance()
      {
        if(self::$db){
          return self::$db;
        }else{
          self::$db = new self();
          return self::$db;
        }
      }
    }
    // 无论调用多少次,只会创建一个实例
    $db = IMooc\Database::getInstance();
    $db = IMooc\Database::getInstance();
    $db = IMooc\Database::getInstance();
    $db = IMooc\Database::getInstance();
    
    

    注册树模式:

    ?php
    namespace IMooc;
    class Register
    {
      protected static $objects;
      static function set($alias, $object)
      {
        self::$objects[$alias] = $object;
      }
      static function get($name)
      {
        return self::$objects[$name];
      }
      static function _unset($alias)
      {
        unset(self::$objects[$alias]);
      }
    }
    $db = \IMooc\Register::get('db1');
    
    

    更多关于PHP相关内容感兴趣的读者可查看本站专题:《php面向对象程序设计入门教程》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

    希望本文所述对大家PHP程序设计有所帮助。

    您可能感兴趣的文章:
    • PHP 工厂模式使用方法
    • php设计模式 Factory(工厂模式)
    • PHP中“简单工厂模式”实例代码讲解
    • php基础设计模式大全(注册树模式、工厂模式、单列模式)
    • PHP实现单例模式最安全的做法
    • php单例模式实现(对象只被创建一次)
    • php利用单例模式实现日志处理类库
    • PHP设计模式之注册树模式分析
    • PHP单例模式实例分析【防继承,防克隆操作】
    • PHP单例模式数据库连接类与页面静态化实现方法
    上一篇:使用SMB共享来绕过php远程文件包含的限制执行RFI的利用
    下一篇:PHP从零开始打造自己的MVC框架之入口文件实现方法详解
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    PHP工厂模式、单例模式与注册树模式实例详解 PHP,工厂,模式,单例,与,注册,