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

Всё, что не подходит под вышеперечисленные разделы

Модератор: immortal

Ответить
VLAKA
Сообщения: 58
Зарегистрирован: Чт июн 08, 2017 5:45 pm
Благодарил (а): 4 раза
Поблагодарили: 2 раза

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

Сообщение VLAKA » Ср июн 20, 2018 6:34 pm

Добрый день, в первый раз пытаюсь сделать свой метод, и наткнулся на небольшую проблему.

Для начала что я пытаюсь сделать в общих чертах. хочу по запросу дергать 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 там сейчас не правильно стоит но вот как правильно его туда определить я не очень разобрался.
буду рад помощи
Chainik
Сообщения: 1462
Зарегистрирован: Вс янв 10, 2016 11:05 am
Благодарил (а): 260 раз
Поблагодарили: 454 раза

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

Сообщение Chainik » Ср июн 20, 2018 7:51 pm

Параметр в метод передается вот так (и еще несколько постов ниже):
https://majordomo.smartliving.ru/forum/ ... 1&start=11
За это сообщение автора Chainik поблагодарил:
VLAKA (Ср июн 20, 2018 8:12 pm)
Рейтинг: 1.16%
Logrus
Сообщения: 2079
Зарегистрирован: Пт апр 07, 2017 12:20 pm
Благодарил (а): 313 раз
Поблагодарили: 457 раз

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

Сообщение Logrus » Ср июн 20, 2018 7:51 pm

можешь посмотреть у себя в зискомпьютер изменение громкости
или у меня в классе пресенсе передача параметра ночной режим в режим никогонетдома
там просто все
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
VLAKA
Сообщения: 58
Зарегистрирован: Чт июн 08, 2017 5:45 pm
Благодарил (а): 4 раза
Поблагодарили: 2 раза

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

Сообщение VLAKA » Ср июн 20, 2018 8:11 pm

Спасибо)

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

$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");
и все завелось)
Ответить