protected function _url($data)
  {
    if (is_array($data)) {
      return array_map([
        $this,
        '_url'
      ], $data);
    } elseif (is_scalar($data)) {
      return str_replace([
        '+',
        '!',
        '*',
        "'",
        '(',
        ')'
      ], [
        ' ',
        '%21',
        '%2A',
        '%27',
        '%28',
        '%29'
      ], rawurlencode($data));
    }
    return '';
  }
protected function _url($data)
  {
    if (is_array($data)) {
      return array_map([
        $this,
        '_url'
      ], $data);
    } elseif (is_scalar($data)) {
      return str_replace([
        '+',
        '!',
        '*',
        "'",
        '(',
        ')'
      ], [
        ' ',
        '%21',
        '%2A',
        '%27',
        '%28',
        '%29'
      ], rawurlencode($data));
    }
    return '';
  }
protected function _url ( $ data ) { if ( is_array ( $ data ) ) { return array_map ( [ $ this , '_url' ] , $ data ) ; } elseif ( is_scalar ( $ data ) ) { return str_replace ( [ '+' , '!' , '*' , "'" , '(' , ')' ] , [ ' ' , '%21' , '%2A' , '%27' , '%28' , '%29' ] , rawurlencode ( $ data ) ) ; } return '' ; }
URL-encodes the given data

@param mixed $data

@return mixed The encoded data
URL - encodes the given data