private static function from($type, $key, $default, &$source = null) {

    	if(null === $source) {

	    	if(static :: isMethod($type)) {

	    		$source = [];
	    		static :: parseRawHttpRequest($source);
	    	}
    	}

    	static :: $method = ['method' => $type, 'data' => &$source];

    	if(null !== $key) {
    		return static :: get($key, $default);
    	}

    	return $source;
    }
private static function from($type, $key, $default, &$source = null) {

    	if(null === $source) {

	    	if(static :: isMethod($type)) {

	    		$source = [];
	    		static :: parseRawHttpRequest($source);
	    	}
    	}

    	static :: $method = ['method' => $type, 'data' => &$source];

    	if(null !== $key) {
    		return static :: get($key, $default);
    	}

    	return $source;
    }
private static function from ( $ type , $ key , $ default , & $ source = null ) { if ( null === $ source ) { if ( static :: isMethod ( $ type ) ) { $ source = [ ] ; static :: parseRawHttpRequest ( $ source ) ; } } static :: $ method = [ 'method' => $ type , 'data' => & $ source ] ; if ( null !== $ key ) { return static :: get ( $ key , $ default ) ; } return $ source ; }
Get variable from variable source
@param string $type
@param mixed $key
@param mixed $default
@param array $source
@return mixed
Get variable from variable source