Как создать новые объекты PHP в цикле? - PullRequest
0 голосов
/ 16 мая 2019

У меня есть массив с некоторыми именами классов 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 Ответ

1 голос
/ 16 мая 2019

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...