如何在循环内创建新的PHP对象?

时间:2019-05-16 12:18:55

标签: php arrays oop object

我有一个数组,其中包含一些php类名(例如ClassOne.php)

classes = [ 'ClassOne' ,  'ClassTwo' ,  'ClassTree' ];

我想编写一个循环,为每个类名称创建一个新对象。没有循环,看起来像这样:

$class1 = new ClassOne;
$class2 = new ClassTwo;
$class3 = new ClassTree;

创建对象之后,我要检查$ class1,2,3,...是否为主类(组件)的实例

是否可以将新对象存储在可以这样迭代的数组中?

    $classes = [ $classs1, $class2, $class3 ];
    foreach($classes as $class)
    {
        if (is_object($class) && $class instanceof Component)
        {
             echo 'is an instance of Components';
        }
    }

1 个答案:

答案 0 :(得分:2)

您可以通过以下方式进行简单循环:

foreach($phpclasses as $class) {
    $classes[] = new $class();
}

或者您也可以合并循环并进行以下操作:

foreach($phpclasses as $class) {
    $c = new $class();
    if (is_object($c) && $cinstanceof Component)
        echo 'is an instance of Components';
}

也可以看看this问题