Привязка метода к свойству - как правильно сделать?

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

Ответить
Аватара пользователя
nightwind
Сообщения: 333
Зарегистрирован: Вс июн 26, 2016 4:42 pm
Откуда: Барановичи
Благодарил (а): 28 раз
Поблагодарили: 52 раза
Контактная информация:

Привязка метода к свойству - как правильно сделать?

Сообщение nightwind » Вт окт 25, 2016 8:49 pm

метод onAlive с таким кодом

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

$old=$params['OLD_VALUE'];
$new=$params['VALUE']; 
say("old=".$old." : new= ".$new);
if ($old !=$new) {
if ($new=="0") {say($this->object_title. " умер");}
else{say($this->object_title. " работоспособность восстановлена");}
} 
привязан к свойству alive датчика.

Должен срабатывать 1 раз при пропадании и появлени показаний датчика. А он каждый раз пишет работоспособность восстановлена.
say("old=".$old." : new= ".$new) - говорит "20:47 Алиса: old=1 : new= "
старое есть, новое не пришло. какого черта тогда метод вызывается? или в чем дело?
Аватара пользователя
xor
Сообщения: 2045
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 289 раз
Поблагодарили: 633 раза

Re: Привязка метода к свойству - как правильно сделать?

Сообщение xor » Вт окт 25, 2016 10:16 pm

Метод при изменении
Данное поле позволяет указать имя метода (текущего объекта), который будет автоматически вызван при изменении значения данного свойства, независимо от того, каким образом это произошло.
В качестве параметров указанному методу будут переданы следующие данные:
$params['PROPERTY'] -- текстовое имя изменяемого свойства
$params['NEW_VALUE'] -- присваиваемое значение
$params['OLD_VALUE'] -- предыдущее значение

Не?
За это сообщение автора xor поблагодарил:
nightwind (Ср окт 26, 2016 1:27 pm)
Рейтинг: 1.16%
Аватара пользователя
nightwind
Сообщения: 333
Зарегистрирован: Вс июн 26, 2016 4:42 pm
Откуда: Барановичи
Благодарил (а): 28 раз
Поблагодарили: 52 раза
Контактная информация:

Re: Привязка метода к свойству - как правильно сделать?

Сообщение nightwind » Ср окт 26, 2016 1:27 pm

точно! невнимательный я нифига. скопипастил из своего же кода, там работало)))
спасибо.
Ответить