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

Изменение свойства и запуск метода

Добавлено: Пт сен 16, 2016 3:08 pm
VladPTZ
Тут написано http://majordomo.smartliving.ru/Main/Library

3.Вызвать метод и присвоить значение свойству можно удаленно строчкой вида

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

http://127.0.0.1/objects/?object=dimmerHall&op=m&m=remoteStatusChanged&brightness=0    
где 127.0.0.1 - адрес сервера, object - объект, m - метод&значение свойства.

Есть у меня строка

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

http://192.168.1.146/objects/?object=IR_Resiver&op=m&m=IR_Decode&Code=4187020818
 
В итоге метод IR_Decode запускается а свойство Сode на значение 4187020818 не меняется.
Почему?
У вас меняется?

Re: Изменение свойства и запуск метода

Добавлено: Пт сен 16, 2016 6:06 pm
ipz
В X-Ray -> Debug что пишет при вызове этой строки?

Эта строка вызывает метод remoteStatusChanged с параметром brightness=0

Если просто изменить свойство объекта, без вызова метода нужно так

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

http://192.168.1.146/objects/?object=IR_Resiver&op=set&p=IR_Decode&v=4187020818   
или так

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

http://192.168.1.146/objects/?object=IR_Resiver&op=set&p=Code&v=4187020818  
В зависимости от того как свойство объекта называется

Re: Изменение свойства и запуск метода

Добавлено: Пт сен 16, 2016 7:15 pm
VladPTZ
Кажется начинает прояснятся....
То есть получается я методу передаю параметр а не меняю свойство объекта.
Тогда как мне внутри метода этот параметр получить и обработать, можно пример кода метода?

Смысл моей задумки такой, передать методу число, а метод в зависимости от полученного числа выполняет нужные действия.

Re: Изменение свойства и запуск метода

Добавлено: Пт сен 16, 2016 8:32 pm
ipz
$params['Code'] будет равно 4187020818

Можно проверить содержимое всего массива $params (для отладки, например, ну или для чего душа пожелает перебрать его содержимое):

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

foreach($params as $index => $val) {DebMes($index . "->" . $val);} 

Re: Изменение свойства и запуск метода

Добавлено: Пт сен 16, 2016 8:53 pm
VladPTZ
ipz спасибо.

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

$this->setProperty("Code",$params['Code']);
say("работает",2); 
Вот такой диагностический код записал переданное значение при вызове метода в свойство объекта, буду писать дальше :)

Re: Изменение свойства и запуск метода

Добавлено: Пт сен 16, 2016 8:59 pm
ipz
Работает, но лучше так:

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

if (isset($params['Code'])) {
  $code = $params['Code'];
  $this->setProperty("Code",$code);
  say("работает",2); 
  
  if($code == 12345) {
    // ...
  }
 
}