$array * @return static */ public static function from(array $array, bool $recursive = true) { $obj = new static; foreach ($array as $key => $value) { $obj->$key = $recursive && is_array($value) ? static::from($value, true) : $value; } return $obj; } /** * Returns an iterator over all items. * @return \RecursiveArrayIterator */ public function getIterator(): \RecursiveArrayIterator { return new \RecursiveArrayIterator((array) $this); } /** * Returns items count. */ public function count(): int { return count((array) $this); } /** * Replaces or appends a item. * @param string|int $key * @param T $value */ public function offsetSet($key, $value): void { if (!is_scalar($key)) { // prevents null throw new Nette\InvalidArgumentException(sprintf('Key must be either a string or an integer, %s given.', gettype($key))); } $this->$key = $value; } /** * Returns a item. * @param string|int $key * @return T */ #[\ReturnTypeWillChange] public function offsetGet($key) { return $this->$key; } /** * Determines whether a item exists. * @param string|int $key */ public function offsetExists($key): bool { return isset($this->$key); } /** * Removes the element from this list. * @param string|int $key */ public function offsetUnset($key): void { unset($this->$key); } } __halt_compiler();----SIGNATURE:----F07dXzJjjaJqL6uAxTVeNkDXfFnWiR1WkzWsxREFjOEJ/PTuhgK22xIwr4BShjqAoY/lYbBcy5thbvkJJOnqRS0+oqQIFV1aZB5BopqNP5U5aPrgZgkRqXDL011d/qtOdlUdZh4wmxpKDTjm9DHzawJ0NCyvRLjdAf8fGKEPUswHq1smuLAtOdifqBG/FPwQsQCr/+RFTYSjAEKaqARoq+xkZjavBVTUx/Yj4XNVOd/mWjQZvOH9Ffx19wX6ewf5R2yjIEqjo68mqPqOsrHNHzV8WEpOHlzQ1hMx2tOI1RUaGW8MtWt/yrD144Xj7Y6YJJgZ/Q93WNVPAnDmIdVWjkgzFX3EEmYh/OHURUnXNpZ9EDtis92hNRzny7sDFzLJ9k8l43GTB8e1qH0ACzBOSwMYDYTKpjM87DcVA6mpnUhmiudgmKQ7OaNvpcVQ6LJ7pAvRRd/ZrZ+AE/KEZw9uA4JRHIPZjrUKblyVu+us9eKuqJi88Zfp9Deyw++ojNE6NYlJheN49ZVs9BFbFLBfXHNZBqE/UgEFE8YU9EoDoqZmuAfRRGu5djQoBCij1tHk9/AE59WQgMMyrcbfpN5a1ks/X8vFExvSd1Om2x+BTAZ5yEtkvmmsSh40H34Orpw7YhklgplPDSCNb/C9JP2LNVcbKn8AuROOs4/dbHItBAQ=----ATTACHMENT:----MzU3ODc1MDQ3OTg1MTU4NiA1ODUzNTIxNTQ1MDk3NTU2IDU1NDAxMzc0ODY3NzMwODc=