src/mg/Ding/Container/Impl/ContainerImpl.php
private function _assemble($bean, BeanDefinition $beanDefinition)
    {
        $this->_lifecycleManager->beforeAssemble($bean, $beanDefinition);
        foreach ($beanDefinition->getProperties() as $property) {
            $propertyName = $property->getName();
            $propertyValue = $this->_getValueFromDefinition($property);
            if (
                $this->_setterInject($bean, $propertyName, $propertyValue)
                || $this->_propertyInject($bean, $propertyName, $propertyValue)
                || $this->_nonSetterMethodInject($bean, $propertyName, $propertyValue)
            ) {
                continue;
            }
            throw new BeanFactoryException("Dont know how to inject: $propertyName");
        }
        $this->fillAware($beanDefinition, $bean);
        $this->_lifecycleManager->afterAssemble($bean, $beanDefinition);
    }
private function _assemble($bean, BeanDefinition $beanDefinition)
    {
        $this->_lifecycleManager->beforeAssemble($bean, $beanDefinition);
        foreach ($beanDefinition->getProperties() as $property) {
            $propertyName = $property->getName();
            $propertyValue = $this->_getValueFromDefinition($property);
            if (
                $this->_setterInject($bean, $propertyName, $propertyValue)
                || $this->_propertyInject($bean, $propertyName, $propertyValue)
                || $this->_nonSetterMethodInject($bean, $propertyName, $propertyValue)
            ) {
                continue;
            }
            throw new BeanFactoryException("Dont know how to inject: $propertyName");
        }
        $this->fillAware($beanDefinition, $bean);
        $this->_lifecycleManager->afterAssemble($bean, $beanDefinition);
    }
Assembles a bean (setter injection)

@param mixed $bean
@param BeanDefinition $beanDefinition

@return void