Страница 1 из 1

[Сценарий] Как "красиво" организовать перебор объектов класса?

Добавлено: Ср дек 12, 2012 11:57 am
raptorialfungus
Собственно, subject.

Нужен сценарий с циклом по объектам класса с проверкой некоторых свойств и выполнением действий в зависимости от значения. Может уже есть какие-то встроенные функции? Или нужно писать SQLSelect'ы к objects,pvalues?

Андрей

Re: Как "красиво" организовать перебор объектов класса?

Добавлено: Ср дек 12, 2012 12:21 pm
Alex
Во-во. У меня уже 20 объектов с 20 (примерно) свойствами каждый. Проверки выливаются в километровые листинги скриптов с одними и теми же действиями для каждого объекта и каждого свойства.

Re: Как "красиво" организовать перебор объектов класса?

Добавлено: Ср дек 12, 2012 1:51 pm
sergejey
Есть встроенная функция getObjectsByClass("className"), которая возвращает массив имён объектов определённого класса.

$objects=getObjectsByClass("className");
$total=count($objects);
for ($i=0;$i<$total;$i++) {
$data=getGlobal($objects[$i]['TITLE'].'.propertyName');
}

вот как-то так можно попробовать.

Re: Как "красиво" организовать перебор объектов класса?

Добавлено: Ср дек 12, 2012 2:15 pm
raptorialfungus
sergejey писал(а):Есть встроенная функция getObjectsByClass("className"), которая возвращает массив имён объектов определённого класса.
Отлично, спасибо.

Код: Выделить всё

$objects=getObjectsByClass("MobilePhone");
$total=count($objects);
for ($i=0;$i<$total;$i++) {
$balance=getGlobal($objects[$i]['TITLE'].'.balance');
$monitor=getGlobal($objects[$i]['TITLE'].'.monitor');
$name=getGlobal($objects[$i]['TITLE'].'.name');
if (($balance<50)and($monitor))
  {
  say("Баланс мобильного телефона \"".$name."\" меньше 50 рублей (".$balance.")");
  }
}

Re: Как "красиво" организовать перебор объектов класса?

Добавлено: Ср дек 12, 2012 2:44 pm
Alex
«Пошел изучать». :)