$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:----jCCfiG4ZsNt3lJqKxKzGRtUIQO+uqo5VYQNQs8WZeIBXPKD2bBLS762VPLInUd8t3Dob+bYMFsYypGYLcz7FBR5iFpT2liyycWi5XGOHIhr5/Dlk1cru0SZuq/vYJ5COVRlkCH0zgbATY1Z+aD6ettuPaKK52PROeLvNaB/OBh/lH7CaHh3hQaGqHlBepB4uDBWJvvmUKDLHMkjP2DmL7PeOWR4oWAHdCK8kTXfxG/70gHgheI+gJa/yq6bJvTT0Au6jaAW0N/EZAbz/rM2XctVXko9Q6MYmiprnXuFWrS5Tk16jELJi+Ps26Qta2A9TaqS8Tp/v8GpnOViRko/U6ZXm1jr2PhfXHUIn26pJoiTXxgzNbT36tV4BlrIOOpZfxDqpyiNBQimIQe2H+Pr2p3KtQAR9isgYU1m+12VABA2PnqX7ktt6LobzMpmFeipL/VxprABOiG5jzQ+eURrNlzwU2x0XdfWH25rUrvyziTPaZFeRTi2cFOt9UAmDEMlnO2B3tXw1/0gLTf2g+SiN8mp2VZfVZTHCMj4nh9q5r3/fXciKp0Vys/Cx1xLM1hIn7hJboO3E4gSdARuy5VdLbn96SwSS/nUV8xRnCYTGfJhqIut4Pfzt+LETzvlwZifdsnVC9XaeKja2ZZa8jJP89EHxgkmbjJKkcAoVccAhUgY=----ATTACHMENT:----ODgyNjA0MjAxNjAzMDcyNCA0NTUyNTQ4NDQ3Mzk3ODMyIDkxNTQyODI0Njg4NTA5Mjc=