一起源码网

  • www.171739.xyz
  • 全球最大的互联网技术和资源下载平台
搜索
猜你喜欢
查看: 5198|回复: 1
打印 上一主题 下一主题

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

[复制链接]

0

主题

0

帖子

1万

积分

钻石会员

Rank: 8Rank: 8

积分
17424
QQ
跳转到指定楼层
楼主
发表于 2020-3-27 14:30 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
在我们上一节课php安全字符串的开发思路与代码分享中,我们介绍了php安全字符串的开发使用,今天我们给大家继续介绍关于php字符串动态生成对象,经常的需求是,由其他地方获取到一个类的名称,需要生成该类的对象,那么之前使用的语法($obj = new $classname();)肯定是不行的!我们今天就给大家介绍如何实现~


首先下载我们本节课所需要用到的php根据字符串类名动态生成对象的类库:


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

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

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

var_dump($obj);
?>

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

$classname='Test';
$obj = new $classname();

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

所以运行结果如下图:

分享到:  QQ好友和群QQ好友和群
收藏收藏
回复

使用道具 举报

0

主题

20

帖子

64

积分

注册会员

Rank: 2

积分
64
沙发
发表于 2022-9-13 05:00 | 只看该作者
网站源代码查看
回复

使用道具 举报

一起源码让程序更轻更快

www.171739.xyz

工作时间 周一至周六 8:00-17:30

侵权处理

客服QQ点击咨询

关注抖音号

定期抽VIP

Copyright © 2016-2021 https://www.171739.xyz/ 滇ICP备13200218号

快速回复 返回顶部 返回列表