Bitrix-D7 22.2
Загрузка...
Поиск...
Не найдено
Класс Fields
+ Граф наследования:Fields:

Открытые члены

 __construct (array $values=null)
 
 isChanged ($name)
 
 get ($name)
 
 markCustom (string $field)
 
 isMarkedCustom (string $field)
 
 unmarkCustom (string $field)
 
 set ($name, $value)
 
 init ($name, $value)
 
 clear ()
 
 clearChanged ()
 
 getValues ()
 
 getOriginalValues ()
 
 setValues (array $values)
 
 resetValues (array $values)
 
 getChangedKeys ()
 
 getChangedValues ()
 
 current ()
 
 next ()
 
 key ()
 
 valid ()
 
 rewind ()
 
 offsetExists ($offset)
 
 offsetGet ($offset)
 
 offsetSet ($offset, $value)
 
 offsetUnset ($offset)
 
 count ()
 
 createClone (\SplObjectStorage $cloneEntity)
 
 isClone ()
 

Защищенные члены

 markChanged ($name, $value)
 

Защищенные данные

 $values = array()
 
 $changedValues = array()
 
 $isClone = false
 

Подробное описание

См. определение в файле fields.php строка 4

Конструктор(ы)

◆ __construct()

__construct ( array  $values = null)

См. определение в файле fields.php строка 23

24 {
25 if ($values !== null)
26 $this->values = $values;
27 }

Методы

◆ clear()

clear ( )

См. определение в файле fields.php строка 114

115 {
116 $this->values = array();
117 $this->clearChanged();
118 }

◆ clearChanged()

clearChanged ( )

См. определение в файле fields.php строка 120

121 {
122 $this->changedValues = array();
123 $this->originalValues = array();
124 }

◆ count()

count ( )

Count elements of an object

См. определение в файле fields.php строка 312

313 {
314 return count($this->values);
315 }

◆ createClone()

createClone ( \SplObjectStorage  $cloneEntity)

См. определение в файле fields.php строка 323

324 {
325 if ($this->isClone() && $cloneEntity->contains($this))
326 {
327 return $cloneEntity[$this];
328 }
329
330 $fieldsClone = clone $this;
331 $fieldsClone->isClone = true;
332
333 if (!$cloneEntity->contains($this))
334 {
335 $cloneEntity[$this] = $fieldsClone;
336 }
337
338 return $fieldsClone;
339 }

◆ current()

current ( )

Return the current element

См. определение в файле fields.php строка 224

225 {
226 return current($this->values);
227 }

◆ get()

get (   $name)

Returns any variable by its name. Null if variable is not set.

Аргументы
string$name
Возвращает
string | null

См. определение в файле fields.php строка 44

45 {
46 if (isset($this->values[$name]))
47 {
48 return $this->values[$name];
49 }
50
51 return null;
52 }

◆ getChangedKeys()

getChangedKeys ( )
Возвращает
array

См. определение в файле fields.php строка 202

203 {
204 return array_keys($this->changedValues);
205 }

◆ getChangedValues()

getChangedValues ( )
Возвращает
array

См. определение в файле fields.php строка 210

211 {
212 $r = array();
213 foreach ($this->values as $k => $v)
214 {
215 if (isset($this->changedValues[$k]))
216 $r[$k] = $v;
217 }
218 return $r;
219 }

◆ getOriginalValues()

getOriginalValues ( )

@ine

Возвращает
array

См. определение в файле fields.php строка 138

139 {
140 return $this->originalValues;
141 }

◆ getValues()

getValues ( )
Возвращает
array

См. определение в файле fields.php строка 129

130 {
131 return $this->values;
132 }

◆ init()

init (   $name,
  $value 
)

См. определение в файле fields.php строка 107

108 {
109 $this->values[$name] = $value;
110 return true;
111 }

◆ isChanged()

isChanged (   $name)
Аргументы
$name
Возвращает
bool

См. определение в файле fields.php строка 33

34 {
35 return isset($this->changedValues[$name]);
36 }

◆ isClone()

isClone ( )
Возвращает
bool

См. определение в файле fields.php строка 344

345 {
346 return $this->isClone;
347 }

◆ isMarkedCustom()

isMarkedCustom ( string  $field)
Аргументы
string$field
Возвращает
bool

См. определение в файле fields.php строка 66

66 : bool
67 {
68 if (!isset($this->customFields[$field]))
69 {
70 return false;
71 }
72
73 return $this->customFields[$field];
74 }

◆ key()

key ( )

Return the key of the current element

См. определение в файле fields.php строка 240

241 {
242 return key($this->values);
243 }

◆ markChanged()

markChanged (   $name,
  $value 
)
protected
Аргументы
$name
$value
Возвращает
bool

См. определение в файле fields.php строка 167

168 {
169 $originalValuesIndex = array();
170 if (!empty($this->originalValues))
171 {
172 foreach(array_keys($this->originalValues) as $originalKey)
173 {
174 $originalValuesIndex[$originalKey] = true;
175 }
176 }
177
178 $oldValue = $this->get($name);
179 if ($oldValue != $value || ($oldValue === null && $value !== null))
180 {
181 if (!isset($originalValuesIndex[$name]))
182 {
183 $this->originalValues[$name] = $this->get($name);
184 }
185 elseif ($this->originalValues[$name] == $value)
186 {
187 unset($this->changedValues[$name]);
188 unset($this->originalValues[$name]);
189 return true;
190 }
191
192 $this->changedValues[$name] = true;
193 return true;
194 }
195
196 return false;
197 }

◆ markCustom()

markCustom ( string  $field)
Аргументы
string$field

См. определение в файле fields.php строка 57

58 {
59 $this->customFields[$field] = true;
60 }

◆ next()

next ( )

Move forward to next element

См. определение в файле fields.php строка 232

233 {
234 return next($this->values);
235 }

◆ offsetExists()

offsetExists (   $offset)

Whether a offset exists

Аргументы
mixed$offset
Возвращает
bool

См. определение в файле fields.php строка 269

270 {
271 return isset($this->values[$offset]) || array_key_exists($offset, $this->values);
272 }

◆ offsetGet()

offsetGet (   $offset)

Offset to retrieve

Аргументы
mixed$offset
Возвращает
null|string

См. определение в файле fields.php строка 281

282 {
283 return $this->get($offset);
284 }

◆ offsetSet()

offsetSet (   $offset,
  $value 
)

Offset to set

Аргументы
mixed$offset
mixed$value

См. определение в файле fields.php строка 292

293 {
294 $this->set($offset, $value);
295 }

◆ offsetUnset()

offsetUnset (   $offset)

Offset to unset

Аргументы
mixed$offset

См. определение в файле fields.php строка 302

303 {
304 unset($this->values[$offset]);
305 if (isset($this->changedValues[$offset]))
306 unset($this->changedValues[$offset]);
307 }

◆ resetValues()

resetValues ( array  $values)
Аргументы
array$values

См. определение в файле fields.php строка 155

156 {
157 $this->values = array();
158 if ($values !== null)
159 $this->values = $values;
160 }

◆ rewind()

rewind ( )

Rewind the Iterator to the first element

См. определение в файле fields.php строка 257

258 {
259 return reset($this->values);
260 }

◆ set()

set (   $name,
  $value 
)
Аргументы
string$name
mixed$value
Возвращает
bool

См. определение в файле fields.php строка 89

90 {
91 if ($this->markChanged($name, $value))
92 {
93 $this->values[$name] = $value;
94 return true;
95 }
96
97 return false;
98 }

◆ setValues()

setValues ( array  $values)
Аргументы
array$values

См. определение в файле fields.php строка 146

147 {
148 foreach ($values as $name => $value)
149 $this->set($name, $value);
150 }

◆ unmarkCustom()

unmarkCustom ( string  $field)
Аргументы
string$field

См. определение в файле fields.php строка 79

80 {
81 $this->customFields[$field] = false;
82 }

◆ valid()

valid ( )

Checks if current position is valid

См. определение в файле fields.php строка 248

249 {
250 $key = $this->key();
251 return ($key != null);
252 }

Поля

◆ $changedValues

$changedValues = array()
protected

См. определение в файле fields.php строка 11

◆ $isClone

$isClone = false
protected

См. определение в файле fields.php строка 20

◆ $values

$values = array()
protected

См. определение в файле fields.php строка 8


Объявления и описания членов класса находятся в файле: