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!