例如,我获得了以下课程:\App\User
,\App\Profile
和\App\Icon
。
每个类都有一个静态函数creating
,它接受一个闭包作为参数。
现在我得到了一些数组:
$classes = [
\App\User::class,
\App\Profile::class,
\App\Icon:class
];
现在我想循环遍历数组并使用每个类的闭包调用creating
函数。
我的问题是,我对::class
关键字以及如何正确使用它非常了解。
答案 0 :(得分:1)
::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);
}
答案 1 :(得分:0)
也许我会使用班级名称。没试过:
$classes = [
'User',
'Profile',
'Icon'
];
foreach ($classes as $class) {
\App\$class::creating($closure);
}