protected function castParameter($value, $type = null) {
		//check null value
		if (is_null($value))
			return 'NULL';
		elseif (is_null($type)) {
			//obtain default type handler
			$typeHandler = $this->getDefaultTypeHandler($value);
			if (is_null($typeHandler))
				return 'NULL';
			if (is_array($value))
				return $this->castArray($value, $typeHandler, '_');
		}
		else {
			//cast value to the specified type
			$typeHandler = $this->typeManager->getTypeHandler($type);
				
			if ($typeHandler === false)
				throw new \RuntimeException("No type handler found for type '$type'");
				
			if (is_array($value))
				return $this->castArray($value, $typeHandler, '_');
			
			//check if returned value is null
			$value = $typeHandler->castParameter($value);
			if (is_null($value))
				return 'NULL';
		}
	
		//get parameter expression
		$value = $typeHandler->setParameter($value);
	
		//check null value
		if (is_null($value))
			return 'NULL';
		//cast to string
		if (!is_string($value))
			$value = strval($value);
		return $value;
	}
protected function castParameter($value, $type = null) {
		//check null value
		if (is_null($value))
			return 'NULL';
		elseif (is_null($type)) {
			//obtain default type handler
			$typeHandler = $this->getDefaultTypeHandler($value);
			if (is_null($typeHandler))
				return 'NULL';
			if (is_array($value))
				return $this->castArray($value, $typeHandler, '_');
		}
		else {
			//cast value to the specified type
			$typeHandler = $this->typeManager->getTypeHandler($type);
				
			if ($typeHandler === false)
				throw new \RuntimeException("No type handler found for type '$type'");
				
			if (is_array($value))
				return $this->castArray($value, $typeHandler, '_');
			
			//check if returned value is null
			$value = $typeHandler->castParameter($value);
			if (is_null($value))
				return 'NULL';
		}
	
		//get parameter expression
		$value = $typeHandler->setParameter($value);
	
		//check null value
		if (is_null($value))
			return 'NULL';
		//cast to string
		if (!is_string($value))
			$value = strval($value);
		return $value;
	}
protected function castParameter ( $ value , $ type = null ) { //check null value if ( is_null ( $ value ) ) return 'NULL' ; elseif ( is_null ( $ type ) ) { //obtain default type handler $ typeHandler = $ this -> getDefaultTypeHandler ( $ value ) ; if ( is_null ( $ typeHandler ) ) return 'NULL' ; if ( is_array ( $ value ) ) return $ this -> castArray ( $ value , $ typeHandler , '_' ) ; } else { //cast value to the specified type $ typeHandler = $ this -> typeManager -> getTypeHandler ( $ type ) ; if ( $ typeHandler === false ) throw new \ RuntimeException ( "No type handler found for type '$type'" ) ; if ( is_array ( $ value ) ) return $ this -> castArray ( $ value , $ typeHandler , '_' ) ; //check if returned value is null $ value = $ typeHandler -> castParameter ( $ value ) ; if ( is_null ( $ value ) ) return 'NULL' ; } //get parameter expression $ value = $ typeHandler -> setParameter ( $ value ) ; //check null value if ( is_null ( $ value ) ) return 'NULL' ; //cast to string if ( ! is_string ( $ value ) ) $ value = strval ( $ value ) ; return $ value ; }
Casts a value to a given type
@param mixed $value
@param string $type
@return string
@throws \RuntimeException
Casts a value to a given type