Программно инициализировать метод

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

Аватара пользователя
Gelezako
Сообщения: 963
Зарегистрирован: Чт июн 02, 2016 9:33 pm
Контактная информация:

Re: Программно инициализировать метод

Сообщение Gelezako »

nick7zmail писал(а): Пт апр 20, 2018 3:36 pm Да в принципе есть...идём в /lib/objects.class.php и дописываем по-аналогии с другими функциями. Только надо чётко определить что вы на входе хотите, что на выходе. При желании можно доработать addclassproperty, чтобы onchange заполнил если будет указан какой либо параметр.
как я представляю, на входе имя класса, имя свойства и метод. Результат: прилинкованный метод к свойству.
фанат Мажордомо
тематический блог http://blog.gelezako.com
плейлист про Мажордомо на ютубе https://www.youtube.com/playlist?list=P ... EdBGtX084E
Аватара пользователя
Gelezako
Сообщения: 963
Зарегистрирован: Чт июн 02, 2016 9:33 pm
Контактная информация:

Re: Программно инициализировать метод

Сообщение Gelezako »

directman66 писал(а): Пт апр 20, 2018 3:37 pm Ура, взлетело
Отлично!

Я так понял модуль пишешь для работы с GPS? Ещё ни где не описывал функционал? Очень интересно, мне тоже надо придумать как координаты передавать с автономного GPS передатчика.
фанат Мажордомо
тематический блог http://blog.gelezako.com
плейлист про Мажордомо на ютубе https://www.youtube.com/playlist?list=P ... EdBGtX084E
directman66
Сообщения: 2799
Зарегистрирован: Пн дек 26, 2016 9:51 am
Откуда: Екатеринбург
Контактная информация:

Re: Программно инициализировать метод

Сообщение directman66 »

Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
directman66
Сообщения: 2799
Зарегистрирован: Пн дек 26, 2016 9:51 am
Откуда: Екатеринбург
Контактная информация:

Re: Программно инициализировать метод

Сообщение directman66 »

Столкнулся со сбоем плагина, когда одна функция вызывает другую функцию.

В файле https://github.com/directman66/majordom ... .class.php
как только раскоментирую строку 391

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

//$smadr=ga('56.836498','60.691435' ); 
модуль уходит в себя. Как будто он не может вызвать соседскую функцию.

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

function ga($x,$y)
{return "ok";}
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
Аватара пользователя
Gelezako
Сообщения: 963
Зарегистрирован: Чт июн 02, 2016 9:33 pm
Контактная информация:

Re: Программно инициализировать метод

Сообщение Gelezako »

directman66 писал(а): Пт апр 20, 2018 5:52 pm Столкнулся со сбоем плагина, когда одна функция вызывает другую функцию.

В файле https://github.com/directman66/majordom ... .class.php
как только раскоментирую строку 391

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

//$smadr=ga('56.836498','60.691435' ); 
модуль уходит в себя. Как будто он не может вызвать соседскую функцию.

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

function ga($x,$y)
{return "ok";}
1. Настоятельно рекомендую давать "говорящие" имена функциям. Имя функции из 2х букв - это ужос. Подумайте о других кто будет читать ваш код.
2. Я не эксперт в пхп, но какую задачу решает эта функция ga() ? Она же бесполезна.
Последний раз редактировалось Gelezako Пт апр 20, 2018 10:15 pm, всего редактировалось 1 раз.
фанат Мажордомо
тематический блог http://blog.gelezako.com
плейлист про Мажордомо на ютубе https://www.youtube.com/playlist?list=P ... EdBGtX084E
directman66
Сообщения: 2799
Зарегистрирован: Пн дек 26, 2016 9:51 am
Откуда: Екатеринбург
Контактная информация:

Re: Программно инициализировать метод

Сообщение directman66 »

Это пример, настоящая функция, которую нужно вызвать называется getaddrfromcoord($x,$y)
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
fandaymon
Сообщения: 1576
Зарегистрирован: Сб янв 13, 2018 5:00 pm

Re: Программно инициализировать метод

Сообщение fandaymon »

directman66 писал(а): Пт апр 20, 2018 5:52 pm Столкнулся со сбоем плагина, когда одна функция вызывает другую функцию.

В файле https://github.com/directman66/majordom ... .class.php
как только раскоментирую строку 391

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

//$smadr=ga('56.836498','60.691435' ); 
модуль уходит в себя. Как будто он не может вызвать соседскую функцию.

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

function ga($x,$y)
{return "ok";}
Я конечно не специалист, но похоже у вас на строчке 578 лишняя скобка...
directman66
Сообщения: 2799
Зарегистрирован: Пн дек 26, 2016 9:51 am
Откуда: Екатеринбург
Контактная информация:

Re: Программно инициализировать метод

Сообщение directman66 »

578 скобка закрывает класс class livegpstracks extends module {

Иначе бы оно вообще не работало.
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
fandaymon
Сообщения: 1576
Зарегистрирован: Сб янв 13, 2018 5:00 pm

Re: Программно инициализировать метод

Сообщение fandaymon »

directman66 писал(а): Пт апр 20, 2018 8:06 pm 578 скобка закрывает класс class livegpstracks extends module {

Иначе бы оно вообще не работало.
Ммм... Тогда наверное надо указывать, что вызванная функция принадлежит классу, может быть $this->ga('56.836498','60.691435' ); отработает?
directman66
Сообщения: 2799
Зарегистрирован: Пн дек 26, 2016 9:51 am
Откуда: Екатеринбург
Контактная информация:

Re: Программно инициализировать метод

Сообщение directman66 »

Там же в классе полно других функций, которые вызываются вроде без ссылки на самого себя. Я сейчас с телефона, детей укладываю, уже не проверить.
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
Ответить