src/mg/Ding/Bean/Factory/Driver/AnnotationValueDriver.php
public function afterDefinition(BeanDefinition $bean)
    {
        $properties = $bean->getProperties();
        $class = $bean->getClass();
        $rClass = $this->reflectionFactory->getClass($class);
        foreach ($rClass->getProperties() as $rProperty) {
            $propertyName = $rProperty->getName();
            $annotations = $this->reflectionFactory->getPropertyAnnotations($class, $propertyName);
            if ($annotations->contains('value')) {
                $annotation = $annotations->getSingleAnnotation('value');
                if ($annotation->hasOption('value')) {
                    $value = $annotation->getOptionSingleValue('value');
                    $properties[$propertyName] = new BeanPropertyDefinition(
                        $propertyName, BeanPropertyDefinition::PROPERTY_SIMPLE, $value
                    );
                }
            }
        }
        $bean->setProperties($properties);
        if ($bean->isCreatedWithFactoryBean()) {
            $factoryMethod = $bean->getFactoryMethod();
            $factoryBean = $bean->getFactoryBean();
            $def = $this->_container->getBeanDefinition($factoryBean);
            $annotations = $this->reflectionFactory->getMethodAnnotations(
                $def->getClass(), $factoryMethod
            );
            $this->_applyToConstructor($annotations, $bean);
        } else if ($bean->isCreatedByConstructor()) {
            $class = $bean->getClass();
            $rClass = $this->reflectionFactory->getClass($bean->getClass());
            $rMethod = $rClass->getConstructor();
            if ($rMethod) {
                $annotations = $this->reflectionFactory->getMethodAnnotations(
                    $class, $rMethod->getName()
                );
                $this->_applyToConstructor($annotations, $bean);
            }
        }
        return $bean;
    }
public function afterDefinition(BeanDefinition $bean)
    {
        $properties = $bean->getProperties();
        $class = $bean->getClass();
        $rClass = $this->reflectionFactory->getClass($class);
        foreach ($rClass->getProperties() as $rProperty) {
            $propertyName = $rProperty->getName();
            $annotations = $this->reflectionFactory->getPropertyAnnotations($class, $propertyName);
            if ($annotations->contains('value')) {
                $annotation = $annotations->getSingleAnnotation('value');
                if ($annotation->hasOption('value')) {
                    $value = $annotation->getOptionSingleValue('value');
                    $properties[$propertyName] = new BeanPropertyDefinition(
                        $propertyName, BeanPropertyDefinition::PROPERTY_SIMPLE, $value
                    );
                }
            }
        }
        $bean->setProperties($properties);
        if ($bean->isCreatedWithFactoryBean()) {
            $factoryMethod = $bean->getFactoryMethod();
            $factoryBean = $bean->getFactoryBean();
            $def = $this->_container->getBeanDefinition($factoryBean);
            $annotations = $this->reflectionFactory->getMethodAnnotations(
                $def->getClass(), $factoryMethod
            );
            $this->_applyToConstructor($annotations, $bean);
        } else if ($bean->isCreatedByConstructor()) {
            $class = $bean->getClass();
            $rClass = $this->reflectionFactory->getClass($bean->getClass());
            $rMethod = $rClass->getConstructor();
            if ($rMethod) {
                $annotations = $this->reflectionFactory->getMethodAnnotations(
                    $class, $rMethod->getName()
                );
                $this->_applyToConstructor($annotations, $bean);
            }
        }
        return $bean;
    }
(non-PHPdoc)
@see Ding\Bean\Lifecycle.IAfterDefinitionListener::afterDefinition()