php:来自“ClassName”的新对象和参数数组
Posted
技术标签:
【中文标题】php:来自“ClassName”的新对象和参数数组【英文标题】:php: new object from "ClassName" and array of args 【发布时间】:2011-09-05 18:35:59 【问题描述】:我有一个包含类名和一个参数数组的字符串。 $classname($args) 有效,但在这种情况下,我在构造函数中只有 1 个参数 任何人都知道,如何使用扩展的 args 来做到这一点?
【问题讨论】:
记得接受答案,如果它可以帮助您解决问题。这也涉及您的其他问题。 【参考方案1】:$reflection = new ReflectionClass($classname);
$object = $reflection->newInstanceArgs($args);
http://php.net/reflection
【讨论】:
在反思之前,我遇到了同样的问题。知道我做了什么吗?生成一个字符串并对其进行评估。恶心。 是的,我也没有看到没有反思的另一种解决方案。然而,当使用接口、工厂模式(或类似的)时,通常不需要这样的东西。【参考方案2】:哈哈我刚问了这个问题:PHP passing a class as a reference?
你不能扩展$args
。您可以尝试传递$args[0], $args[1]
等。
【讨论】:
以上是关于php:来自“ClassName”的新对象和参数数组的主要内容,如果未能解决你的问题,请参考以下文章