src/Mouf/MoufInstancePropertyDescriptor.php
public function getValue() {
		
		if ($this->propertyDescriptor->isPublicFieldProperty()) {
			// Let's try to see if it is a "value":
			$param = $this->moufManager->getParameter($this->instanceDescriptor->getIdentifierName(), $this->name);
			if ($param !== null) {
				return $param;
			}
			
			$instanceName = $this->moufManager->getBoundComponentsOnProperty($this->instanceDescriptor->getIdentifierName(), $this->name);

			return $this->toInstanceDescriptor($instanceName);
		} elseif ($this->propertyDescriptor->isSetterProperty()) {
			// Let's try to see if it is a "value":
			$param = $this->moufManager->getParameterForSetter($this->instanceDescriptor->getIdentifierName(), $this->name);
			if ($param !== null) {
				return $param;
			}
			
			$instanceName = $this->moufManager->getBoundComponentsOnSetter($this->instanceDescriptor->getIdentifierName(), $this->name);

			return $this->toInstanceDescriptor($instanceName);
		} elseif ($this->propertyDescriptor->isConstructor()) {
			// Let's try to see if it is a "value":
			$argumentType = $this->moufManager->isConstructorParameterObjectOrPrimitive($this->instanceDescriptor->getIdentifierName(), $this->propertyDescriptor->getParameterIndex());
			$param = $this->moufManager->getParameterForConstructor($this->instanceDescriptor->getIdentifierName(), $this->propertyDescriptor->getParameterIndex());
				
			if ($argumentType == "primitive") {
				return $param;
			} elseif ($argumentType == "object") {
				return $this->toInstanceDescriptor($param);
			} else {
				// Not set: return null
				return null;
			}
			
		} else {
			throw new MoufException("Unsupported property type: it is not a public field nor a setter nor a constructor...");
		}
		
	
	}
public function getValue() {
		
		if ($this->propertyDescriptor->isPublicFieldProperty()) {
			// Let's try to see if it is a "value":
			$param = $this->moufManager->getParameter($this->instanceDescriptor->getIdentifierName(), $this->name);
			if ($param !== null) {
				return $param;
			}
			
			$instanceName = $this->moufManager->getBoundComponentsOnProperty($this->instanceDescriptor->getIdentifierName(), $this->name);

			return $this->toInstanceDescriptor($instanceName);
		} elseif ($this->propertyDescriptor->isSetterProperty()) {
			// Let's try to see if it is a "value":
			$param = $this->moufManager->getParameterForSetter($this->instanceDescriptor->getIdentifierName(), $this->name);
			if ($param !== null) {
				return $param;
			}
			
			$instanceName = $this->moufManager->getBoundComponentsOnSetter($this->instanceDescriptor->getIdentifierName(), $this->name);

			return $this->toInstanceDescriptor($instanceName);
		} elseif ($this->propertyDescriptor->isConstructor()) {
			// Let's try to see if it is a "value":
			$argumentType = $this->moufManager->isConstructorParameterObjectOrPrimitive($this->instanceDescriptor->getIdentifierName(), $this->propertyDescriptor->getParameterIndex());
			$param = $this->moufManager->getParameterForConstructor($this->instanceDescriptor->getIdentifierName(), $this->propertyDescriptor->getParameterIndex());
				
			if ($argumentType == "primitive") {
				return $param;
			} elseif ($argumentType == "object") {
				return $this->toInstanceDescriptor($param);
			} else {
				// Not set: return null
				return null;
			}
			
		} else {
			throw new MoufException("Unsupported property type: it is not a public field nor a setter nor a constructor...");
		}
		
	
	}
public function getValue ( ) { if ( $ this -> propertyDescriptor -> isPublicFieldProperty ( ) ) { // Let's try to see if it is a "value": $ param = $ this -> moufManager -> getParameter ( $ this -> instanceDescriptor -> getIdentifierName ( ) , $ this -> name ) ; if ( $ param !== null ) { return $ param ; } $ instanceName = $ this -> moufManager -> getBoundComponentsOnProperty ( $ this -> instanceDescriptor -> getIdentifierName ( ) , $ this -> name ) ; return $ this -> toInstanceDescriptor ( $ instanceName ) ; } elseif ( $ this -> propertyDescriptor -> isSetterProperty ( ) ) { // Let's try to see if it is a "value": $ param = $ this -> moufManager -> getParameterForSetter ( $ this -> instanceDescriptor -> getIdentifierName ( ) , $ this -> name ) ; if ( $ param !== null ) { return $ param ; } $ instanceName = $ this -> moufManager -> getBoundComponentsOnSetter ( $ this -> instanceDescriptor -> getIdentifierName ( ) , $ this -> name ) ; return $ this -> toInstanceDescriptor ( $ instanceName ) ; } elseif ( $ this -> propertyDescriptor -> isConstructor ( ) ) { // Let's try to see if it is a "value": $ argumentType = $ this -> moufManager -> isConstructorParameterObjectOrPrimitive ( $ this -> instanceDescriptor -> getIdentifierName ( ) , $ this -> propertyDescriptor -> getParameterIndex ( ) ) ; $ param = $ this -> moufManager -> getParameterForConstructor ( $ this -> instanceDescriptor -> getIdentifierName ( ) , $ this -> propertyDescriptor -> getParameterIndex ( ) ) ; if ( $ argumentType == "primitive" ) { return $ param ; } elseif ( $ argumentType == "object" ) { return $ this -> toInstanceDescriptor ( $ param ) ; } else { // Not set: return null return null ; } } else { throw new MoufException ( "Unsupported property type: it is not a public field nor a setter nor a constructor..." ) ; } }
Returns the value for this property.
The value returned can be a primitive type, an array of primitive types, a MoufInstanceDescriptor or an array of MoufInstanceDescriptors, depending on the type of the parameter.

@return string|MoufInstanceDescriptor|null
Returns the value for this property . The value returned can be a primitive type an array of primitive types a MoufInstanceDescriptor or an array of MoufInstanceDescriptors depending on the type of the parameter .