/** * Get parameter value. * * @param mixed $value * * @return array|mixed */ public function getParameterValue($value) { $value = $this->parameter->getResolver()->resolveValue($this->parameter->getResolver()->unescapeValue($value)); if (is_array($value)) { foreach ($value as $index => $val) { if (is_array($val)) { $value[$index] = array_map(array($this, 'resolveParameters'), $val); } else { $value[$index] = $this->getParameterValue($val); } } } elseif ($value instanceof Reference) { $value = $this->container->get((string) $value); } return $value; }
/** * Compile parameter. * * Parameter become immutable. * * @return static */ public function compile() { $this->parameter->getResolver()->resolve(); $this->parameter = new ImmutableParameterBag($this->parameter->all()); return $this; }