SetGlobal: различия между версиями
Mixman (обсуждение | вклад) Нет описания правки |
Mixman (обсуждение | вклад) |
||
Строка 4: | Строка 4: | ||
$no_linked - отвечает за то, что не нужно вызывать связанные со свойствам модули и обычно используется что б не было цикличного вызова того же модуля, который инициировал изменение. Туда можно передать либо просто '''true (или 1)''' и тогда никакие модули не будут вызываться, или туда можно передать ассоциативный массив тех модулей, которые надо проигнорировать. например array('moduleName1'=>1,'moduleName2'=>1)" | $no_linked - отвечает за то, что не нужно вызывать связанные со свойствам модули и обычно используется что б не было цикличного вызова того же модуля, который инициировал изменение. Туда можно передать либо просто '''true (или 1)''' и тогда никакие модули не будут вызываться, или туда можно передать ассоциативный массив тех модулей, которые надо проигнорировать. например array('moduleName1'=>1,'moduleName2'=>1)" | ||
Если проигнорировать третий параметр ($no_linked), то можно использовать его, как четвертый, то есть, третьим параметром можно написать '''source'''. А '''source''' - это источник, который обновил свойство, например, туда можно записать ”''mqtt module''” и в будущем будет понятно, кто же записал туда это значение. | |||
'''sg'''("Object.Value", $value); -- альтернативное имя setGlobal | '''sg'''("Object.Value", $value); -- альтернативное имя setGlobal |
Текущая версия от 09:41, 13 декабря 2024
Описание
setGlobal($varname, $value, $no_linked, $source); -- установка значения глобального свойства объекта, где (Object-объект, Value-свойство), а $value устанавливаемое значение. $no_linked, $source - не обязательные параметры.
$no_linked - отвечает за то, что не нужно вызывать связанные со свойствам модули и обычно используется что б не было цикличного вызова того же модуля, который инициировал изменение. Туда можно передать либо просто true (или 1) и тогда никакие модули не будут вызываться, или туда можно передать ассоциативный массив тех модулей, которые надо проигнорировать. например array('moduleName1'=>1,'moduleName2'=>1)"
Если проигнорировать третий параметр ($no_linked), то можно использовать его, как четвертый, то есть, третьим параметром можно написать source. А source - это источник, который обновил свойство, например, туда можно записать ”mqtt module” и в будущем будет понятно, кто же записал туда это значение.
sg("Object.Value", $value); -- альтернативное имя setGlobal
Примечание: Конструкция запроса предусматривает возможность увеличения пути установки свойства до Класса. Класс.Объект.Свойство SetGlobal("Class.Object.Value", $value); , но данный метод в системе не приветствуется, так как одинаковые объекты могут причинить другие неудобства. В системе принято не создавать одинаковые объекты, а значит и указание класса в запросе не требуется.
Примечание 2: При отсутствии в запросе указанного объекта "Object" система самостоятельно дополнит его объектом "ThisComputer" и все данные запишутся в данный объект системы.
Примечание 3: Если в объекте отсутствует свойство "Value", то система самостоятельно создаст его на уровне объекта и запишет данные в него. Такой подход лишает нас истории свойства и остальных возможностей свойств созданных на уровне класса.
Примеры запросов
Присвоить свойству timeNow объекта ThisComputer значение 17:12. Данный объект и свойство используются в дефолтной поставке МДМ.
setGlobal("ThisComputer.timeNow", "17:12");
Полностью равно предыдущей записи:
sg("ThisComputer.timeNow", "17:12");
Альтернативные названия функции (сленг)
cг, cетглобал,