首页 > 解决方案 > 如何在循环中创建新的 php 对象?

问题描述

我有一个带有一些 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';
        }
    }

标签: phparraysoopobject

解决方案


你做简单的循环:

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';
}

这个问题也可以看


推荐阅读