在php或Cakephp 3中使用一个变量作为类名

jaql4c8m  于 2022-11-12  发布在  PHP
关注(0)|答案(2)|浏览(163)

我正在尝试从另一个命令运行一组命令。一些类似于cronjob的命令,但带有最终用户的查看编辑添加选项。这是有效的:

$fooCommand = new \App\Command\fooCommand();
                $barCommand = new \App\Command\barCommand();

但我需要的是:

$classes = [
                "foo",
                "bar"
            ];
            foreach ($classes as $class) {
                $otherCommand = new '\\App\\Command\\' .$class. Command();
                # code...
            }

类似于.在数组中迭代并初始化类.实际上运行数据库中命令。

soat7uwm

soat7uwm1#

您需要分隔类名并使用variables variable

foreach ($classes as $class) {
    $_class = "\\App\\Command\\{$class}Command";
    $class_name = $class . 'Command';
    $$class_name = new $_class;
    # code...
}
8qgya5xd

8qgya5xd2#

您可以这样做:

foreach ($classes as $class) {
    $classWithNamespace = "\\App\\Command\\{$class}Command";
    $otherCommand = new $classWithNamespace();
}

PHP Sandbox

相关问题