Всем привет!
Я немного запутался на счет статических свойств класса.
Реализовываю для Битрикс одну вещь. Так вот. Там при обновлении информационного элемента необходимо изменить значения свойств при его обновлении, что, в свою очередь, ведет к вызову этой же процедуры обновления.
В качестве "предотвратителя" мог бы использоваться какой-то флаг, который бы говорил, что мы вызвали процедуру второй раз, не надо ее выполнять.
Получилось что-то вроде того:
class UserHandlers
{
static $disableHandlerForUpdateOther = false;
//UPDATE ACTION
public static function OnAfterIBlockElementUpdateHandler(&$arFields) {
if (!self::$disableHandlerForUpdateOther) {
...
self::$disableHandlerForUpdateOther = true;
...
}
Правильно ли я понимаю, что при одновременном паралелльном обновлении нескольких элементов получится ситуация, что $disableHandlerForUpdateOther будет иметь, возможно, значение true в начале выполнения метода OnAfterIBlockElementUpdateHandler?