Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/236.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP。我可以让反射使用自动加载吗?_Php_Reflection - Fatal编程技术网

PHP。我可以让反射使用自动加载吗?

PHP。我可以让反射使用自动加载吗?,php,reflection,Php,Reflection,我需要用反射实例化很多类。有不同的名称空间,其中包含具有相同名称但参数不同的特殊类 每个名称空间都包含超级类,这些超级类以相同的方式运行其他特殊类-反射 我可以将param添加到我应该使用的名称空间的超类中,但是如果我在文件的use部分中包含我想在反射中使用的所有类,那会更舒服 有什么想法吗 示例(我想有): 我们需要看一些代码。至少向我们展示一下你是如何设置的,以及你目前是如何实例化类的。你为什么需要用反射实例化类?@magnus eriksson,我更新了我的帖子。感谢you@charlot

我需要用反射实例化很多类。有不同的名称空间,其中包含具有相同名称但参数不同的特殊类

每个名称空间都包含超级类,这些超级类以相同的方式运行其他特殊类-反射

我可以将param添加到我应该使用的名称空间的超类中,但是如果我在文件的
use
部分中包含我想在反射中使用的所有类,那会更舒服

有什么想法吗

示例(我想有):


我们需要看一些代码。至少向我们展示一下你是如何设置的,以及你目前是如何实例化类的。你为什么需要用反射实例化类?@magnus eriksson,我更新了我的帖子。感谢you@charlotte-dunois,我认为它是动态生成类映射的最有效的解决方案,而不是使用很多条件来选择哪个类更适合现在使用。因为这里是一个简化的代码示例,在完整版本中,它还检测传递了什么参数,以及我将在之后调用的函数可以接受多少参数
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);
   }
}