我需要用反射实例化很多类。有不同的命名空间具有名称相同但参数不同的特殊类。
每个命名空间都包含 Super 类,它们以相同的方式运行其他特殊类 - 反射。
我可以向超类添加参数,我应该使用什么命名空间,但如果我在use我的文件部分包含我想在反射中使用的所有类,会更舒服。
有任何想法吗?
示例(我想要):
use Namespace1\Class1;
use Namespace1\Class2;
use Namespace2\Class1; // same name as in Namespace1
class Management {
public function run()
{
// ...some inits with a lot of params which I pass through __constructor
$needClassName = $this->getClassName(); // should be Class1, Class2
$reflect = new \ReflectionClass($needClassName);
$manager = $reflect->newInstance($user, $database, $errors);
}
}
Run Code Online (Sandbox Code Playgroud)