<<< Назад

При обновлении ядра НЕ МЕНЯТЬ значения параметров свойств и кода методов объектов


SergeJey (2022-08-17 18:17:47):

Я так понимаю, что речь про классы, связанные с Простыми Устройствами?
Насчёт сохранения длительности надо подумать, но насчёт кода методов -- если вы какой-то код добавляете, то он сохраниться. Вставка всё равно добавится, если её убрать, но можно перед вставкой поставить в коде метода return и она (вставка) не будет выполняться.

(0)
 
Logrus (2022-08-17 18:24:07):

в пу юзер может и увеличить время хранения, а оно перепишется
не плохо б если переписывало если срока хранения нет

(0)
 
Logrus (2022-08-17 18:26:15):

охх, вот сколько и в скольких местах про ретурн уже
а все от того что нет вики с описанием (((

(0)
 
miks69 (2022-08-17 18:52:46):

Речь не только о простых устройствах, а вообще. К примеру у меня в большинстве случаев стоит 30 дней, т.к. мне больше не нужно, иначе таблица phistory сильно разрастается и сервер начинает тормозить. При обновлении ставится 365 дней, зачем? Насколько я понимаю, это пользовательская настройка, зачем ее сбрасывать при обновлении? В чем тогда смысл данной настройки?

(0)
 
miks69 (2022-08-17 19:02:07):

По поводу кода методов такая же история: если пользователю предоставлена возможность внесения изменений кода методов под свои задачи, то зачем ломать? Можно же сделать обновление ядра так, чтобы не разрушать пользовательские доработки? Т.е. стандартные модули заменять на новые, но не рушить измененный код методов?

(0)
 
SergeJey (2022-08-17 21:09:32):

Давайте по порядку про "вообще" -- обновление может что-то менять связанное с объектами/свойствами/методами задейстованными в ПУ, но в других случаях пользовательские настройки не обновляются. Если вы знаете конкретно какое свойство постоянно обновляется, то скажите -- я проверю. Что касается кода методов -- он так же не должен меняться, кроме того изменения что в методы, связанные с ПУ будет добавляться инъекция, как отключить выполнение которой я указал выше. Снова, если какой-то код сбрасывается -- дайте пример до/после обновления.

(0)
 
SergeJey (2022-08-17 21:28:28):

Я добавил в альфу проверку на то, что данные уже установлены (для свойств). Если для методов проблему не найдём, то идею закрою как выполненную :)

(0)
 
miks69 (2022-08-17 21:38:50):

По свойствам понятно, спасибо.
По методам, если я правильно понял, при обновлении выполняется проверка на наличие соответствующей вставки типа:
"/ begin injection of {SDevices} /
require(DIR_MODULES.'devices/SDevices_statusUpdated.php');
/ end injection of {SDevices} /"
и при ее отсутствии такая вставка добавляется в код метода с сохранением остального кода? В начало или в конец кода? Или происходит замена кода метода?

(0)
 
SergeJey (2022-08-17 21:45:05):

При её отсутствии инъекция добавляется в конец кода. По идее при наличии своего кода она не должна заменять, а только добавляться в конце -- так по крайней мере в самом коде вставки инъекции задано. Лучше всего её не удалять, а оставлять и делать перед ней return; если нужно чтоб инъекция не исполнялась.

(0)
 
Logrus (2022-08-17 21:49:44):

с методами кст есть проблема "со сбросом" порядка выполнения
видимо при побитии табличек пишет в поле дефолтное значение

(0)
 
miks69 (2022-08-17 22:26:36):

Тогда я думаю можно закрывать.

(0)
 

Пожалуйста, войдите в систему, чтобы добавлять комментарии Присоединиться!