structAppend vs Duplicate - PullRequest
       15

structAppend vs Duplicate

0 голосов
/ 11 декабря 2018

Я знаком с такими вещами, как

if ( isDefined( 'URL'  ) ) structAppend( request.context, URL );
if ( isDefined( 'Form'  ) ) structAppend( request.context, Form );

Вот как FW / 1 строит rc. Недавно я получил код, который делает это

_inputs = duplicate(url);
structAppend(_inputs, form);

Что такое duplicate() делаешь здесь?Чем это отличается от structAppend()?

1 Ответ

0 голосов
/ 11 декабря 2018

Интересно, сталкивались ли с разработчиком-оригиналом проблемы при использовании метода StructCopy() и перенесли это в свой код для метода StructAppend()?Я знаю, что метод StructCopy() скопирует вложенные структуры по ссылке , которые могут вас укусить.Это пример того, когда я использую метод Duplicate() (для создания совершенно новой копии структуры).

Я не думаю, что StructAppend() работает таким образом.Возможно, они написали этот код с переизбытком предосторожности.Очевидно, это всего лишь предположение.

Метод StructCopy() документирован для копирования по ссылке .

Копирует структуру.Копирует ключи, значения и массивы верхнего уровня в структуре по значению;копирует вложенные структуры по ссылке.

Где, как метод StructAppend(), не упоминает об этом .

...