Ошибки и предложения

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

Спасибо!

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

Работа над задачами по проекту отнимает у его разработчика самое ценное — время, так что небольшая компенсация в виде материальной поддержки поднимет интерес к разработке и позволит сделать больше задач для общей пользы :)

Перейти к проекту Нет, спасибо

<<< Назад

Не выполняются связанные методы, при вызове связанного метода не передается значение

Добавлено: 2019-09-21 14:13:34 SergeJey / Статус: Готово / Проект: Дополнение MQTT

https://github.com/sergejey/majordomo-mqtt/issues/...

1) Не выполняются связанные методы
Насколько я вижу - опечатка в методе processMessage
вместо if ($rec['LINKED_OBJECT'] && $cmd_rec['LINKED_METHOD']) {
должно быть if ($rec['LINKED_OBJECT'] && $rec['LINKED_METHOD']) {

2) При вызове связанного метода не передается значение
после исправления предыдущего пункта связанный метод вызывается, но если в качестве параметра передается значение, а не массив - то в методе callMethodSafe параметр обнуляется, т.к. там
$call_stack[] = $current_call;
if (!is_array($params)) {
$params = array();
}
Пока исправил так, но это неверный путь:
if ($rec['LINKED_OBJECT'] && $rec['LINKED_METHOD']) {
if (!is_array($rec['VALUE'])) {
$params = array('value'=>$rec['VALUE']);
} else {
$params = $rec['VALUE'];
}
callMethodSafe($rec['LINKED_OBJECT'] . '.' . $rec['LINKED_METHOD'], $params);

+3
 
Обсуждение (1)