adapters = $adapters; parent::__construct($immutable); } /** * Get an environment variable. * * We do this by querying our adapters sequentially. * * @param string $name * * @return string|null */ protected function getInternal($name) { foreach ($this->adapters as $adapter) { $result = $adapter->get($name); if ($result->isDefined()) { return $result->get(); } } } /** * Set an environment variable. * * @param string $name * @param string|null $value * * @return void */ protected function setInternal($name, $value = null) { foreach ($this->adapters as $adapter) { $adapter->set($name, $value); } } /** * Clear an environment variable. * * @param string $name * * @return void */ protected function clearInternal($name) { foreach ($this->adapters as $adapter) { $adapter->clear($name); } } }