src/mg/Ding/Container/Impl/ContainerImpl.php
private function _getValueFromDefinition($what)
    {
        $value = null;
        if ($what->isBean()) {
            $value = $this->getBean($what->getValue());
        } else if ($what->isArray()) {
            $value = array();
            foreach ($what->getValue() as $k => $v) {
                $value[$k] = $this->_getValueFromDefinition($v);
            }
        } else if ($what->isCode()) {
            $value = eval($what->getValue());
        } else {
            $value = $this->_loadValue($what->getValue());
        }
        return $value;
    }
private function _getValueFromDefinition($what)
    {
        $value = null;
        if ($what->isBean()) {
            $value = $this->getBean($what->getValue());
        } else if ($what->isArray()) {
            $value = array();
            foreach ($what->getValue() as $k => $v) {
                $value[$k] = $this->_getValueFromDefinition($v);
            }
        } else if ($what->isCode()) {
            $value = eval($what->getValue());
        } else {
            $value = $this->_loadValue($what->getValue());
        }
        return $value;
    }
This will resolve a property (or constructor arg) definition to a final
value, being a bean reference, array of other properties (or
constructor args), etc.

@param BeanPropertyDefinition|BeanConstructorArgumentDefinition $what

@return void