public function __construct(array $attributes = [])
{
// initialize default values
$this->scope = self::SCOPE_REQUEST;
$this->singleton = true;
$this->lazy = false;
$this->alias = '';
if (isset($attributes['value'])) {
if (isset($attributes['value']['scope']) && strtolower($attributes['value']['scope']) === 'session') {
$this->scope = self::SCOPE_SESSION;
}
if (isset($attributes['value']['singleton'])) {
$this->singleton = $this->parseBooleanValue($attributes['value']['singleton']);
}
if (isset($attributes['value']['lazy'])) {
$this->lazy = $this->parseBooleanValue($attributes['value']['lazy']);
}
if (isset($attributes['value']['alias'])) {
$this->alias = $attributes['value']['alias'];
}
}
}