src/objects/route/CallReference.php
protected function convert ($type, $value)
		{
			switch ($type)
			{
				case 'string':
					return (string) $value;

				case 'number':
					return is_float($value)
						? (float) $value
						: (int) $value;

				case 'boolean':
					return $value === true || $value === 'true' || $value === '1' || $value === 'on';

				default:
					if (is_float($value))
					{
						return $this->convert('number', $value);
					}
					if (is_numeric($value))
					{
						return strpos($value, '.') !== FALSE
							? (float) $value
							: (int) $value;
					}
					if ($value === 'true' || $value === 'false')
					{
						return $value === 'true';
					}
					if ($value === '')
					{
						return null;
					}
			}
			return $value;
		}
protected function convert ($type, $value)
		{
			switch ($type)
			{
				case 'string':
					return (string) $value;

				case 'number':
					return is_float($value)
						? (float) $value
						: (int) $value;

				case 'boolean':
					return $value === true || $value === 'true' || $value === '1' || $value === 'on';

				default:
					if (is_float($value))
					{
						return $this->convert('number', $value);
					}
					if (is_numeric($value))
					{
						return strpos($value, '.') !== FALSE
							? (float) $value
							: (int) $value;
					}
					if ($value === 'true' || $value === 'false')
					{
						return $value === 'true';
					}
					if ($value === '')
					{
						return null;
					}
			}
			return $value;
		}
protected function convert ( $ type , $ value ) { switch ( $ type ) { case 'string' : return ( string ) $ value ; case 'number' : return is_float ( $ value ) ? ( float ) $ value : ( int ) $ value ; case 'boolean' : return $ value === true || $ value === 'true' || $ value === '1' || $ value === 'on' ; default : if ( is_float ( $ value ) ) { return $ this -> convert ( 'number' , $ value ) ; } if ( is_numeric ( $ value ) ) { return strpos ( $ value , '.' ) !== FALSE ? ( float ) $ value : ( int ) $ value ; } if ( $ value === 'true' || $ value === 'false' ) { return $ value === 'true' ; } if ( $ value === '' ) { return null ; } } return $ value ; }
Utility used to convert values to the correct type

@param   string  $type
@param   mixed   $value
@return  mixed
Utility used to convert values to the correct type