最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

php對(duì)象工廠類(lèi)完整示例

 更新時(shí)間:2018年08月09日 12:09:34   作者:flynetcn  
這篇文章主要介紹了php對(duì)象工廠類(lèi),涉及php參數(shù)獲取、數(shù)組使用、對(duì)象創(chuàng)建等相關(guān)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了php對(duì)象工廠類(lèi)。分享給大家供大家參考,具體如下:

<?php
/**
 * 對(duì)象工廠
 * @author flynetcn
 */
class ObjectFactory
{
  private static $objSet = array();
  /**
   * 清空工廠中的對(duì)象
   */
  public function clear()
  {
    self::$objSet = array();
  }
  /**
   * 在工廠中創(chuàng)建對(duì)象并將其返回
   * 參數(shù)格式:$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;
  }
}

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門(mén)教程》、《PHP基本語(yǔ)法入門(mén)教程》、《PHP運(yùn)算與運(yùn)算符用法總結(jié)》、《PHP網(wǎng)絡(luò)編程技巧總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫(kù)操作入門(mén)教程》及《php常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總

希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評(píng)論

沙河市| 石渠县| 应城市| 碌曲县| 章丘市| 玉田县| 广元市| 磐石市| 阳西县| 娱乐| 广东省| 鄂伦春自治旗| 昌江| 罗源县| 安宁市| 勃利县| 墨竹工卡县| 丰镇市| 塘沽区| 尤溪县| 宁夏| 宁都县| 伊川县| 建始县| 武冈市| 宁河县| 石屏县| 凯里市| 通许县| 双鸭山市| 虞城县| 延川县| 天等县| 德清县| 化隆| 启东市| 卢龙县| 金乡县| 崇礼县| 偃师市| 莱阳市|