SetGlobal

Материал из MajorDoMo инфо

Описание

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етглобал,

Просто для проверки появления разделов