代码之家  ›  专栏  ›  技术社区  ›  Johannes

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

  •  2
  • Johannes  · 技术社区  · 15 年前

    这可能是一个非常愚蠢的问题: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 回复  |  直到 15 年前
        1
  •  5
  •   Asaph    15 年前

    对。可以在PHP中动态实例化类。这样地:

    $className = 'SomeClass';
    $myInstance = new $className();
    
        2
  •  1
  •   Adam Hopkinson    15 年前

    如果字符串“dave”在$name中,则可以将其与$name一起使用。

    $name = 'dave';
    $$name = new SomeClass();
    $dave->echoVar('var');
    
    推荐文章