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

не могу программно установить свойство

Добавлено: Чт май 28, 2015 9:57 pm
Pacific
Простейший метод для считывания и установки свойств.
Считывается отлично.
А вот установки не происходит. Что я сделал не так?

$tSens = $this->getProperty('tSensor');
say($tSens);
$this->setProperty('t', 22);
Изображение

Re: не могу программно установить свойство

Добавлено: Пт май 29, 2015 8:08 am
ErmolenkoM
Pacific писал(а):Простейший метод для считывания и установки свойств.
Считывается отлично.
А вот установки не происходит. Что я сделал не так?

$tSens = $this->getProperty('tSensor');
say($tSens);
$this->setProperty('t', 22);
Изображение
http://connect.smartliving.ru/ ?
Как вызываете метод? Есть понимание, что этот синтаксис применим только к методам объектов, и вызывается для конкретного экземпляра?
Хотелось бы увидеть что вывела команда say($tSens);
Попробуйте так:

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

$this->setProperty('t', '22');
или так:

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

$this->setProperty('tttt', '22');
Попробуйте заменить на

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

setGlobal('KitchenZone.t', '22'); -- установка глобального свойства

Re: не могу программно установить свойство

Добавлено: Пт май 29, 2015 10:09 am
Pacific
msh555 писал(а): http://connect.smartliving.ru/ ?
Как вызываете метод? Есть понимание, что этот синтаксис применим только к методам объектов, и вызывается для конкретного экземпляра?
Спасибо за отклик. Понимание есть (ну, или мне так кажется ;) ). Метод вызывается нажатием на кнопку в меню:
Изображение
msh555 писал(а):Хотелось бы увидеть что вывела команда say($tSens);
Выводится "KitchenMain.dhtt1". Я эту строчку и ввёл для того, чтобы понять, правильно ли я обращаюсь к объекту KitchenZone.
msh555 писал(а):Попробуйте так:

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

$this->setProperty('t', '22');
увы, значение свойства не меняется
msh555 писал(а):или так:

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

$this->setProperty('tttt', '22');
В объекте создается новое свойство, но без значения:
Изображение
msh555 писал(а):Попробуйте заменить на

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

setGlobal('KitchenZonet.t', '22'); -- установка глобального свойства
Сегодня вечером попробую .

Re: не могу программно установить свойство

Добавлено: Пт май 29, 2015 7:32 pm
Pacific
хорошая новость: пришел с работы и заработало!
$this->setProperty("t", '25');
$this->setProperty('t', '25');
$this->setProperty('t', 21);
$this->setProperty("t", 10);
все эти варианты работали.

плохая новость:
снова перестало работать.
ввожу простейший код :

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

say('test2');
$this->setProperty("t", '25');
В чате вылазит test2, а свойство не меняется.

А перестало работать, когда я набирал более сложный код:

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

$tSens = $this->getProperty("tSensor");
say($tSens);
$temp = gg($tSens);
say( $temp);
$this->setProperty("t", $temp);
Затык на поледней строке. После этого вернулся к простейшему коду и снова не работает. Наверно, где-то PHP глючит у меня.
Хелп!

Re: не могу программно установить свойство

Добавлено: Пт май 29, 2015 9:47 pm
Pacific
Решено!
Оказалось следующее: для контроля изменения свойств объекта, я изменял значение свойств в браузере вручную. После этого пытался изменить значение свойства программно. Так вот при обновлении странички со свойствами, программные изменения не отражались.
Но простой код показал, что изменения всё-таки происходят

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

$this->setProperty('t', '25');
say($this->getProperty('t'));
Теперь новый вопрос: как обновлять страничку со свойствами, чтобы отследивать изменения? Юзаю Оперу