PHP:如何通过名称创建类?

PHP:如何通过名称创建类?,php,class,Php,Class,可能重复: 如何从类中按名称创建对象 像这样 $name = "test"; $test = "text from var"; print ${$name}; 我想这就是你想要的 $classname = "MyClassName"; $newObject = new $className(); 但是,我建议避免使用动态类名(或者实际上,根据您的问题,避免使用任何变量),因为这会使调试变得更加困难,而且您也会失去一个好的IDE可以为您提供的所有帮助,例如intellisense。我认为您要

可能重复:

如何从类中按名称创建对象

像这样

$name = "test";
$test = "text from var";
print ${$name};

我想这就是你想要的

$classname = "MyClassName";
$newObject = new $className();

但是,我建议避免使用动态类名(或者实际上,根据您的问题,避免使用任何变量),因为这会使调试变得更加困难,而且您也会失去一个好的IDE可以为您提供的所有帮助,例如intellisense。

我认为您要求这样做。也许吧

<?php
class SomeClass {

    public function __construct() {
        echo "construct SomeClass";
    }
}

$className = 'SomeClass';
$obj = new $className();
$myObject = new $name();

不过,动态类/函数/变量名是PHP的优势之一。建议不要仅仅因为IDE不能很好地使用它就使用它,这在我看来是不对的。:-)@drrcknlsn——这是PHP的特性之一。我不认为这是优势之一。我见过它被大量使用,但我从来没有见过它被用在一种不使用它就无法完成的方式上。大多数时候我看到它使用的都是非常糟糕的代码。它没有
eval()
那么糟糕,但它非常接近。出于好奇,还有什么更好的方法可以实例化一个直到运行时才知道的类呢?@ohmusama没有必要:@ohmusama就为了你,我编辑的Viper7非常强大!tnx!