Как создать новые объекты PHP в цикле?

У меня есть массив с некоторыми именами классов php (например, ClassOne.php)

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

Я хочу написать цикл, который создает новый объект для каждого из имен классов. Без цикла это выглядит так:

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

После создания этого объекта я хочу проверить, является ли $ class1,2,3, ... экземпляром основного класса (Components)

Можно ли хранить новые объекты в массиве, который можно перебирать так?

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

Всего 1 ответ


Вы делаете простой цикл как:

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

Можете посмотреть на


Есть идеи?

10000