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

Как передать параметр методу обьекта?

Добавлено: Ср июн 20, 2018 6:34 pm
VLAKA
Добрый день, в первый раз пытаюсь сделать свой метод, и наткнулся на небольшую проблему.

Для начала что я пытаюсь сделать в общих чертах. хочу по запросу дергать webhook ifttt
Сработал датчик двери, записалось 20 секунд с камеры смотрящей на дверь, пишется сразу в облако. и после этого дергается хук который на телефон передает сообщение что дверь открылась.
в принципе почти все готово, и по отдельности работает осталось только одна проблема с передачей параметра методу.

что я сделал:
  • класс ifttt со свойствами key, url и методом push
  • объект этого класса (ifttt_tool) с заполненными полями key, url
  • скрипт с которого собственно вызываю (возможно неправильно, пример брал с базы знаний) метод с параметром door_opened

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

callMethod('ifttt_tool.push', array('event_name'=> 'door_opened'));
А вот как в методе это получить я так и не понял.
Пока метод push выглядит так:

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

$url = getGlobal("ifttt_tool.url").$event_name."/with/key/".getGlobal("ifttt_tool.key");
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
$result = curl_exec($ch);
if (curl_errno($ch)) {
    echo 'Error:' . curl_error($ch);
}
else {
    echo( $result );
}
curl_close ($ch);

я как бы понимаю что $event_name там сейчас не правильно стоит но вот как правильно его туда определить я не очень разобрался.
буду рад помощи

Re: Как передать параметр методу обьекта?

Добавлено: Ср июн 20, 2018 7:51 pm
Chainik
Параметр в метод передается вот так (и еще несколько постов ниже):
https://majordomo.smartliving.ru/forum/ ... 1&start=11

Re: Как передать параметр методу обьекта?

Добавлено: Ср июн 20, 2018 7:51 pm
Logrus
можешь посмотреть у себя в зискомпьютер изменение громкости
или у меня в классе пресенсе передача параметра ночной режим в режим никогонетдома
там просто все

Re: Как передать параметр методу обьекта?

Добавлено: Ср июн 20, 2018 8:11 pm
VLAKA
Спасибо)

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

$url = getGlobal("ifttt_tool.url").$event_name."/with/key/".getGlobal("ifttt_tool.key");
поменял на

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

$url = getGlobal("ifttt_tool.url").$params['event_name']."/with/key/".getGlobal("ifttt_tool.key");
и все завелось)