_usedProperties['id'] = true; $this->id = $value; return $this; } /** * @default null * @param ParamConfigurator|mixed $value * @return $this */ public function host($value): static { $this->_usedProperties['host'] = true; $this->host = $value; return $this; } /** * @default null * @param ParamConfigurator|mixed $value * @return $this */ public function password($value): static { $this->_usedProperties['password'] = true; $this->password = $value; return $this; } /** * @default 6379 * @param ParamConfigurator|mixed $value * @return $this */ public function port($value): static { $this->_usedProperties['port'] = true; $this->port = $value; return $this; } /** * @default 0 * @param ParamConfigurator|mixed $value * @return $this */ public function database($value): static { $this->_usedProperties['database'] = true; $this->database = $value; return $this; } /** * @default 'monolog_redis' * @param ParamConfigurator|mixed $value * @return $this */ public function keyName($value): static { $this->_usedProperties['keyName'] = true; $this->keyName = $value; return $this; } public function __construct(array $value = []) { if (array_key_exists('id', $value)) { $this->_usedProperties['id'] = true; $this->id = $value['id']; unset($value['id']); } if (array_key_exists('host', $value)) { $this->_usedProperties['host'] = true; $this->host = $value['host']; unset($value['host']); } if (array_key_exists('password', $value)) { $this->_usedProperties['password'] = true; $this->password = $value['password']; unset($value['password']); } if (array_key_exists('port', $value)) { $this->_usedProperties['port'] = true; $this->port = $value['port']; unset($value['port']); } if (array_key_exists('database', $value)) { $this->_usedProperties['database'] = true; $this->database = $value['database']; unset($value['database']); } if (array_key_exists('key_name', $value)) { $this->_usedProperties['keyName'] = true; $this->keyName = $value['key_name']; unset($value['key_name']); } if ([] !== $value) { throw new InvalidConfigurationException(sprintf('The following keys are not supported by "%s": ', __CLASS__).implode(', ', array_keys($value))); } } public function toArray(): array { $output = []; if (isset($this->_usedProperties['id'])) { $output['id'] = $this->id; } if (isset($this->_usedProperties['host'])) { $output['host'] = $this->host; } if (isset($this->_usedProperties['password'])) { $output['password'] = $this->password; } if (isset($this->_usedProperties['port'])) { $output['port'] = $this->port; } if (isset($this->_usedProperties['database'])) { $output['database'] = $this->database; } if (isset($this->_usedProperties['keyName'])) { $output['key_name'] = $this->keyName; } return $output; } }