使用字符串的值实例化一个新类

时间:2009-11-23 18:47:26

标签: php string

这可能是一个非常愚蠢的问题:P但我发现这真的很有意思:

class SomeClass{

var $var = "this is some text";

function echoVar($name){
  echo $this->{$name};
}
}
$class = new SomeClass()
$class->echoVar("var") // will echo "this is some text"

我可以做类似的事情吗,我可以获取字符串的值并使用该名称实例化一个新类吗?如果没有,任何“差不多”的解决方案?

由于

2 个答案:

答案 0 :(得分:5)

是。您可以在PHP中动态实例化类。像这样:

$className = 'SomeClass';
$myInstance = new $className();

答案 1 :(得分:1)

如果你的字符串'dave'在$ name中,你可以使用$$ name

$name = 'dave';
$$name = new SomeClass();
$dave->echoVar('var');