服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服务器之家 - 编程语言 - PHP教程 - php对象工厂类完整示例

php对象工厂类完整示例

2019-09-14 21:16flynetcn PHP教程

这篇文章主要介绍了php对象工厂类,涉及php参数获取、数组使用、对象创建等相关操作技巧,需要的朋友可以参考下

本文实例讲述了php对象工厂类。分享给大家供大家参考,具体如下:

<?php
/**
 * 对象工厂www.aspku.net
 * @author flynetcn
 */
class ObjectFactory
{
  private static $objSet = array();
  /**
   * 清空工厂中的对象
   */
  public function clear()
  {
    self::$objSet = array();
  }
  /**
   * 在工厂中创建对象并将其返回
   * 参数格式:$class_name, $class_param1, $class_param2, ...
   */
  public static function create()
  {
    $argc = func_num_args();
    if ($argc <= 0) {
      throw new Exception('params error', 1);
    }
    $args = func_get_args();
    $class_name = array_shift($args);
    $params = $args;
    if (!$params) {
      $class_sign = $class_name;
    } else {
      $param_sign = serialize($params);
      if (strlen($param_sign) > 100) {
        $param_sign = md5($param_sign);
      }
      $class_sign = $class_name.'@'.$param_sign;
    }
    if (isset(self::$objSet[$class_sign])) {
      return self::$objSet[$class_sign];
    }
    $ref = new ReflectionClass($class_name);
    if ($ref->hasMethod('__construct') && !empty($params)) {
      $obj = $ref->newInstanceArgs($params);
    } else {
      $obj = $ref->newInstance();
    }
    self::$objSet[$class_sign] = $obj;
    return $obj;
  }
}

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

延伸 · 阅读

精彩推荐
  • PHP教程php 将json格式数据转换成数组的方法

    php 将json格式数据转换成数组的方法

    今天小编就为大家分享一篇php 将json格式数据转换成数组的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    solly7937556704842019-09-10
  • PHP教程php+Ajax无刷新验证用户名操作实例详解

    php+Ajax无刷新验证用户名操作实例详解

    这篇文章主要介绍了php+Ajax无刷新验证用户名操作,简单介绍了ajax的原理并结合实例形式分析了php结合ajax无刷新验证用户名相关操作技巧,需要的朋友可以参考下...

    致Great2132019-06-06
  • PHP教程php实现在线考试系统【附源码】

    php实现在线考试系统【附源码】

    这篇文章主要介绍了php在线考试系统附源码下载,文中通过实例代码给大家介绍了开发思路,需要的朋友可以参考下...

    Alphaseo3352019-09-06
  • PHP教程php实现文章评论系统

    php实现文章评论系统

    这篇文章主要为大家详细介绍了php实现文章评论系统,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    奇幻屋2042019-06-12
  • PHP教程PHP的PDO错误与错误处理

    PHP的PDO错误与错误处理

    今天小编就为大家分享一篇关于PHP的PDO错误与错误处理,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧...

    php参考手册3412019-06-27
  • PHP教程PHP中explode函数和split函数的区别小结

    PHP中explode函数和split函数的区别小结

    相信大家都知道,explode和split在php中都是可以通过特定字符把字符串转换成数组的,那么explode和split既然是一样的为什么会有两个函数呢,那么explode和split的区别在哪里呢,下面跟着小编我们一起来看看。...

    daisy3452019-06-20
  • PHP教程PHP实现图片压缩

    PHP实现图片压缩

    这篇文章主要为大家详细介绍了PHP实现图片压缩,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    江南极客2522019-09-02
  • PHP教程php 处理png图片白色背景色改为透明色的实例代码

    php 处理png图片白色背景色改为透明色的实例代码

    这篇文章主要介绍了php 处理png图片白色背景色改为透明色的实例代码,文中通过实例代码给大家介绍了用PHP的GD库把图片的背景替换成透明背景,需要的朋友参考下...

    mrr2502019-07-16