php对象工厂类完整示例
更新时间:2018年08月09日 12:09:34 作者:flynetcn
这篇文章主要介绍了php对象工厂类,涉及php参数获取、数组使用、对象创建等相关操作技巧,需要的朋友可以参考下
本文实例讲述了php对象工厂类。分享给大家供大家参考,具体如下:
<?php
/**
* 对象工厂
* @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基本语法入门教程》、《PHP运算与运算符用法总结》、《PHP网络编程技巧总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
相关文章
PHP ajax跨子域的解决方案之document.domain+iframe实例分析
这篇文章主要介绍了PHP ajax跨子域的解决方案之document.domain+iframe,结合实例形式分析了PHP ajax跨子域的解决方案document.domain+iframe的基本原理、实现方法与操作注意事项,需要的朋友可以参考下2020-03-03
php使用mysqli和pdo扩展,测试对比mysql数据库的执行效率完整示例
这篇文章主要介绍了php使用mysqli和pdo扩展,测试对比mysql数据库的执行效率,结合完整实例形式对比分析了php分别使用mysqli与pdo进行数据库插入操作的执行时间,需要的朋友可以参考下2019-05-05


最新评论