src/Mouf/MoufManager.php
public function removeComponent($instanceName) {
		unset($this->instanceDescriptors[$instanceName]);
		unset($this->declaredInstances[$instanceName]);
		if (isset($this->instanceDescriptors[$instanceName])) {
			unset($this->instanceDescriptors[$instanceName]);
		}
		
		foreach ($this->declaredInstances as $declaredInstanceName=>$declaredInstance) {
			if (isset($declaredInstance["constructor"])) {
				foreach ($declaredInstance["constructor"] as $index=>$propWrapper) {
					if ($propWrapper['parametertype'] == 'object') {
						$properties = $propWrapper['value'];
						if (is_array($properties)) {
							// If this is an array of properties
							$keys_matching = array_keys($properties, $instanceName);
							if (!empty($keys_matching)) {
								foreach ($keys_matching as $key) {
									unset($properties[$key]);
								}
								$this->setParameterViaConstructor($declaredInstanceName, $index, $properties, 'object');
							}
						} else {
							// If this is a simple property
							if ($properties == $instanceName) {
								$this->setParameterViaConstructor($declaredInstanceName, $index, null, 'object');
							}
						}
					}
				}
			}
		}
		
		foreach ($this->declaredInstances as $declaredInstanceName=>$declaredInstance) {
			if (isset($declaredInstance["fieldBinds"])) {
				foreach ($declaredInstance["fieldBinds"] as $paramName=>$properties) {
					if (is_array($properties)) {
						// If this is an array of properties
						$keys_matching = array_keys($properties, $instanceName);
						if (!empty($keys_matching)) {
							foreach ($keys_matching as $key) {
								unset($properties[$key]);
							}
							$this->bindComponents($declaredInstanceName, $paramName, $properties);
						}
					} else {
						// If this is a simple property
						if ($properties == $instanceName) {
							$this->bindComponent($declaredInstanceName, $paramName, null);
						}
					}
				}
			}
		}

		foreach ($this->declaredInstances as $declaredInstanceName=>$declaredInstance) {
			if (isset($declaredInstance["setterBinds"])) {
				foreach ($declaredInstance["setterBinds"] as $setterName=>$properties) {
					if (is_array($properties)) {
						// If this is an array of properties
						$keys_matching = array_keys($properties, $instanceName);
						if (!empty($keys_matching)) {
							foreach ($keys_matching as $key) {
								unset($properties[$key]);
							}
							$this->bindComponentsViaSetter($declaredInstanceName, $setterName, $properties);
						}
					} else {
						// If this is a simple property
						if ($properties == $instanceName) {
							$this->bindComponentViaSetter($declaredInstanceName, $setterName, null);
						}
					}
				}
			}
		}
	}
public function removeComponent($instanceName) {
		unset($this->instanceDescriptors[$instanceName]);
		unset($this->declaredInstances[$instanceName]);
		if (isset($this->instanceDescriptors[$instanceName])) {
			unset($this->instanceDescriptors[$instanceName]);
		}
		
		foreach ($this->declaredInstances as $declaredInstanceName=>$declaredInstance) {
			if (isset($declaredInstance["constructor"])) {
				foreach ($declaredInstance["constructor"] as $index=>$propWrapper) {
					if ($propWrapper['parametertype'] == 'object') {
						$properties = $propWrapper['value'];
						if (is_array($properties)) {
							// If this is an array of properties
							$keys_matching = array_keys($properties, $instanceName);
							if (!empty($keys_matching)) {
								foreach ($keys_matching as $key) {
									unset($properties[$key]);
								}
								$this->setParameterViaConstructor($declaredInstanceName, $index, $properties, 'object');
							}
						} else {
							// If this is a simple property
							if ($properties == $instanceName) {
								$this->setParameterViaConstructor($declaredInstanceName, $index, null, 'object');
							}
						}
					}
				}
			}
		}
		
		foreach ($this->declaredInstances as $declaredInstanceName=>$declaredInstance) {
			if (isset($declaredInstance["fieldBinds"])) {
				foreach ($declaredInstance["fieldBinds"] as $paramName=>$properties) {
					if (is_array($properties)) {
						// If this is an array of properties
						$keys_matching = array_keys($properties, $instanceName);
						if (!empty($keys_matching)) {
							foreach ($keys_matching as $key) {
								unset($properties[$key]);
							}
							$this->bindComponents($declaredInstanceName, $paramName, $properties);
						}
					} else {
						// If this is a simple property
						if ($properties == $instanceName) {
							$this->bindComponent($declaredInstanceName, $paramName, null);
						}
					}
				}
			}
		}

		foreach ($this->declaredInstances as $declaredInstanceName=>$declaredInstance) {
			if (isset($declaredInstance["setterBinds"])) {
				foreach ($declaredInstance["setterBinds"] as $setterName=>$properties) {
					if (is_array($properties)) {
						// If this is an array of properties
						$keys_matching = array_keys($properties, $instanceName);
						if (!empty($keys_matching)) {
							foreach ($keys_matching as $key) {
								unset($properties[$key]);
							}
							$this->bindComponentsViaSetter($declaredInstanceName, $setterName, $properties);
						}
					} else {
						// If this is a simple property
						if ($properties == $instanceName) {
							$this->bindComponentViaSetter($declaredInstanceName, $setterName, null);
						}
					}
				}
			}
		}
	}
public function removeComponent ( $ instanceName ) { unset ( $ this -> instanceDescriptors [ $ instanceName ] ) ; unset ( $ this -> declaredInstances [ $ instanceName ] ) ; if ( isset ( $ this -> instanceDescriptors [ $ instanceName ] ) ) { unset ( $ this -> instanceDescriptors [ $ instanceName ] ) ; } foreach ( $ this -> declaredInstances as $ declaredInstanceName => $ declaredInstance ) { if ( isset ( $ declaredInstance [ "constructor" ] ) ) { foreach ( $ declaredInstance [ "constructor" ] as $ index => $ propWrapper ) { if ( $ propWrapper [ 'parametertype' ] == 'object' ) { $ properties = $ propWrapper [ 'value' ] ; if ( is_array ( $ properties ) ) { // If this is an array of properties
 $ keys_matching = array_keys ( $ properties , $ instanceName ) ; if ( ! empty ( $ keys_matching ) ) { foreach ( $ keys_matching as $ key ) { unset ( $ properties [ $ key ] ) ; } $ this -> setParameterViaConstructor ( $ declaredInstanceName , $ index , $ properties , 'object' ) ; } } else { // If this is a simple property
 if ( $ properties == $ instanceName ) { $ this -> setParameterViaConstructor ( $ declaredInstanceName , $ index , null , 'object' ) ; } } } } } } foreach ( $ this -> declaredInstances as $ declaredInstanceName => $ declaredInstance ) { if ( isset ( $ declaredInstance [ "fieldBinds" ] ) ) { foreach ( $ declaredInstance [ "fieldBinds" ] as $ paramName => $ properties ) { if ( is_array ( $ properties ) ) { // If this is an array of properties
 $ keys_matching = array_keys ( $ properties , $ instanceName ) ; if ( ! empty ( $ keys_matching ) ) { foreach ( $ keys_matching as $ key ) { unset ( $ properties [ $ key ] ) ; } $ this -> bindComponents ( $ declaredInstanceName , $ paramName , $ properties ) ; } } else { // If this is a simple property
 if ( $ properties == $ instanceName ) { $ this -> bindComponent ( $ declaredInstanceName , $ paramName , null ) ; } } } } } foreach ( $ this -> declaredInstances as $ declaredInstanceName => $ declaredInstance ) { if ( isset ( $ declaredInstance [ "setterBinds" ] ) ) { foreach ( $ declaredInstance [ "setterBinds" ] as $ setterName => $ properties ) { if ( is_array ( $ properties ) ) { // If this is an array of properties
 $ keys_matching = array_keys ( $ properties , $ instanceName ) ; if ( ! empty ( $ keys_matching ) ) { foreach ( $ keys_matching as $ key ) { unset ( $ properties [ $ key ] ) ; } $ this -> bindComponentsViaSetter ( $ declaredInstanceName , $ setterName , $ properties ) ; } } else { // If this is a simple property
 if ( $ properties == $ instanceName ) { $ this -> bindComponentViaSetter ( $ declaredInstanceName , $ setterName , null ) ; } } } } } }
Removes an instance.
Sets to null any property linking to that component.

@param string $instanceName
Removes an instance . Sets to null any property linking to that component .