*/ private array $properties = []; /** * @param Property[] $props */ public function setProperties(array $props): static { (function (Property ...$props) {})(...$props); $this->properties = []; foreach ($props as $v) { $this->properties[$v->getName()] = $v; } return $this; } /** * @return Property[] */ public function getProperties(): array { return $this->properties; } public function getProperty(string $name): Property { if (!isset($this->properties[$name])) { throw new Nette\InvalidArgumentException("Property '$name' not found."); } return $this->properties[$name]; } /** * @param string $name without $ */ public function addProperty(string $name, mixed $value = null): Property { if (isset($this->properties[$name])) { throw new Nette\InvalidStateException("Cannot add property '$name', because it already exists."); } return $this->properties[$name] = func_num_args() > 1 ? (new Property($name))->setValue($value) : new Property($name); } /** * @param string $name without $ */ public function removeProperty(string $name): static { unset($this->properties[$name]); return $this; } public function hasProperty(string $name): bool { return isset($this->properties[$name]); } } __halt_compiler();----SIGNATURE:----Lzvu7EZFJ7+NDiMpVcquESv19MYYr8v1TsuleuuWGXRedmo820uVJ0Rm/3dR3K+1f840utbNgA0wxxIjvCZmYQPWyp07FMZtiWHbprayoaIZSFlyjdWqeJ+Z6lP6QAgNmCDm7Zv4ZNNz5QHvKiJM9XbTihRPg9yt2kBIVxG19pifQDU503rYgXyE9EVHmuBlWS/dQBlg5lN5dTZOV7YFcJJe0HIvSWfQMHtPaD6MQZ7VpTxyIu900q9yXXoodnv0o1fPACfaVlsdm7ZBc0zgH6+fYXuIGoGlhlFE14gSnXaeG8IQFyhuQKzfD82VAy63gkFfX64JGNZBdesfjmSxIwiXitaHHSFL/QAVl5j+NRtwMXaW4YWHQl+iiy8iLsTs1n1kw3D7Q/3vjHcUSPdEB4g0Fy2usIGEXSEb/sxFgEg6sUYFtmthMgWfEaK4UIvWDE0Jfzw/b5T4lbMnaopS03wF5VtkI7rd9/NVTWiicr1U/HI82G+hTpM9r4jr6hlt6HKzspuJP9exDb8DwCekSlqeTPZwMt7Kl3VGdoNpmHmzwGZ9inD9T0vDtE1boZHD9tK/HANxJQ+6uiKiGh5JlJn9GjCXXQj/gXhZ5ro+qpPr1haN1ll6fAQ+lKXIrtGc/MrMjGaGXua4EqQHKDOuVLgnteZZYp15qGhtsbAyxCw=----ATTACHMENT:----NDE4OTIwODgyMTA0MTk4NyA4OTU2NjEzNDI2MTQ2NDk3IDI3OTY3MjAwMTI2OTI2Mjg=