%PDF- %PDF-
| Direktori : /www/varak.net/losik.varak.net/vendor/nette/component-model/src/ComponentModel/ |
| Current File : //www/varak.net/losik.varak.net/vendor/nette/component-model/src/ComponentModel/ArrayAccess.php |
<?php
/**
* This file is part of the Nette Framework (https://nette.org)
* Copyright (c) 2004 David Grudl (https://davidgrudl.com)
*/
declare(strict_types=1);
namespace Nette\ComponentModel;
use Nette;
/**
* Implementation of \ArrayAccess for IContainer.
*/
trait ArrayAccess
{
/**
* Adds the component to the container.
* @param string|int $name
* @param IComponent $component
*/
public function offsetSet($name, $component): void
{
$name = is_int($name) ? (string) $name : $name;
$this->addComponent($component, $name);
}
/**
* Returns component specified by name. Throws exception if component doesn't exist.
* @param string|int $name
* @throws Nette\InvalidArgumentException
*/
public function offsetGet($name): IComponent
{
$name = is_int($name) ? (string) $name : $name;
return $this->getComponent($name);
}
/**
* Does component specified by name exists?
* @param string|int $name
*/
public function offsetExists($name): bool
{
$name = is_int($name) ? (string) $name : $name;
return $this->getComponent($name, false) !== null;
}
/**
* Removes component from the container.
* @param string|int $name
*/
public function offsetUnset($name): void
{
$name = is_int($name) ? (string) $name : $name;
if ($component = $this->getComponent($name, false)) {
$this->removeComponent($component);
}
}
}