对类型数组调用静态函数


Call static function on array of types

例如,我得到以下类:'App'User, 'App'Profile'App'Icon
每个类都有一个静态函数creating,它接受闭包作为参数。现在我得到了一个数组:

$classes = [
   'App'User::class,
   'App'Profile::class,
   'App'Icon:class
];

现在我想循环遍历数组,并在每个类上使用闭包调用creating函数。我的问题是我不太了解::class关键字以及如何正确使用它。

::class将只返回完全限定的类名。

$classes = [
'App'User::class,
'App'Profile::class,
'App'Icon::class
];

相同(有效地)
$classes = [
   "'App'User",
   "'App'Profile",
   "App'Icon"
];

所以它是可迭代的就像普通的动态类名一样

foreach($classes as $class){
   $class::creating($closure);
}

也许我会用类名操作。未经尝试:

$classes = [
   'User',
   'Profile',
   'Icon'
];
foreach ($classes as $class) {
   'App'$class::creating($closure);
}