Страница 12 из 18
Re: вопросы от новичка
Добавлено: Вт янв 23, 2018 12:28 am
xor
1. получить свойство объекта в переменную
$var = getGlobal('myObject.myProperty');
1a. произвести математические действия с $var:
$var = ($var + 1000)**2-$var; //Ok, Google php математические функции
2. сохранить значение переменной в свойстве объекта:
setGlobal('myObject.myProperty',$var);
Re: вопросы от новичка
Добавлено: Вт янв 23, 2018 7:35 am
Teacher_77
xor писал(а):1. получить свойство объекта в переменную
$var = getGlobal('myObject.myProperty');
1a. произвести математические действия с $var:
$var = ($var + 1000)**2-$var; //Ok, Google php математические функции
2. сохранить значение переменной в свойстве объекта:
setGlobal('myObject.myProperty',$var);
А в каком месте производить все эти замечательные изменения? В методе?
Re: вопросы от новичка
Добавлено: Вт янв 23, 2018 9:34 am
skysilver
Teacher_77 писал(а):А в каком месте производить все эти замечательные изменения? В методе?
Можно в методах, можно в сценариях. А также в пол Код шаблонов поведения, элементов меню и т.д. Зависит от конкретной задачи.

Re: вопросы от новичка
Добавлено: Вт янв 23, 2018 12:40 pm
Teacher_77
Еще назрело:
вытаскиваю данные с физических счетчиков воды по http через веб-переменные и помещаю в свойства объекта счетчик воды
от физических счетчиков приходит строка типа
hostname:XXXXXXXXXX;vwc11:6;vwa11:3224;vwc21:11;vwa21:3224;vwc31:2;vwa31:3116;vwc41:2;vwa41:3116;
соответственно применял шаблон поиска типа "vwc11:(.+?)"
Пока показания были из одной цифры (например vwc11:6), все работало, а вот как перевалило за 10 (например vwc21:11), начались проблемы.
не подскажете по какому шаблону тащить все цифры показаний счетчика - т.е. то что после ":" и до ";"
Re: вопросы от новичка
Добавлено: Вт янв 23, 2018 12:43 pm
nick7zmail
В данном случае советую через php разгребать этот массив. Применение веб-аеременных не сильно оправдано.
Отправлено с моего G8441 через Tapatalk
Re: вопросы от новичка
Добавлено: Вт янв 23, 2018 5:48 pm
Teacher_77
nick7zmail писал(а):В данном случае советую через php разгребать этот массив. Применение веб-аеременных не сильно оправдано.
Отправлено с моего G8441 через Tapatalk
Оно конечно может и лучше, только мне как новичку непонятно как.
В веб-переменной строка с http попадает в обработку автоматически
А если делать по другому - как? где?
Re: вопросы от новичка
Добавлено: Вт янв 23, 2018 5:59 pm
nick7zmail
Ну как хотите....
https://regex101.com/ вот песочница регулярных выражений, которые используются в веб переменных, вот всё о них
http://php.net/manual/ru/reference.pcre ... syntax.php вот тут более кратко
http://www.php.su/articles/?cat=regexp& ... ....просто подбирайте тот, который будет выдавать нужный результат.
А без php в данной системе тяжеловато будет...советую начать учить, и ваша строка - отличный этому тренер будет. Гуглить - "php разложить строку на массив", и "php циклы".
Re: вопросы от новичка
Добавлено: Вт янв 23, 2018 6:05 pm
Teacher_77
Спасибо за ссылки.
Я про другое спрашивал - если разгребать через php - куда код пихать?
Как забирать инфо (строку) с адреса http?
P.S. С математикой более-менее разобрался, обработку свойств объектов запихал в сценарий, поставил на регулярное исполнение.
Re: вопросы от новичка
Добавлено: Вт янв 23, 2018 6:10 pm
skysilver
Teacher_77 писал(а):Я про другое спрашивал - если разгребать через php - куда код пихать?
Как забирать инфо (строку) с адреса http?
Код можно пихать в сценарий или метод. Потом их можно вызывать в методе onNewMinute с нужной периодичностью, либо в модуле Cron.
Код: Выделить всё
$result = getURL('http://ip_счетчика', 0);
var_dump($result);
Re: вопросы от новичка
Добавлено: Вт янв 23, 2018 6:20 pm
skysilver
Teacher_77 писал(а):Оно конечно может и лучше, только мне как новичку непонятно как.
Код: Выделить всё
$result = getURL('http://ip_счетчика', 0);
$result = explode(";", $result);
foreach ($result as $s) {
if ($s !== '') {
$val = explode(":", $s);
echo 'метрика ' . $val[0] . ' равна ' . $val[1] . PHP_EOL;
}
}