php根据字符串类名动态生成对象的示例分析

黄舟
发布: 2023-03-15 08:56:01
原创
4914 人浏览过

在我们上一节课php安全字符串的开发思路与代码分享中,我们介绍了php安全字符串的开发使用,今天我们给大家继续介绍关于php字符串动态生成对象,经常的需求是,由其他地方获取到一个类的名称,需要生成该类的对象,那么之前使用的语法($obj = new $classname();)肯定是不行的!我们今天就给大家介绍如何实现~


首先下载我们本节课所需要用到的php根据字符串类名动态生成对象的类库:http://www.php.cn/xiazai/leiku/606


下载完成以后找到php类库文件,解压到本地目录,然后创建新的文件~

我们在新的php文件里面调用这个类,以及实例化:

<?php
include_once "stringtext.php"; //引入类库文件
$className = &#39;Test&#39;;          
$obj = call_user_func(array($className, &#39;create&#39;));

var_dump($obj);
?>
登录后复制

直接使用这样的语法是肯定行不通的:

$classname=&#39;Test&#39;;
$obj = new $classname();
登录后复制

可以给目标类定义一个static的方法生成该对象的实例,然后通过call_user_func或call_user_func_array调用该方法。当然,也可以通过工厂类等方法来实现。

所以运行结果如下图:

15.png

以上是php根据字符串类名动态生成对象的示例分析的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板