在类型数组上调用静态函数

时间:2015-09-17 22:23:11

标签: php

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

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

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

2 个答案:

答案 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);
}