mingalevme/http-build-url

Advanced version of http_build_url


Keywords
http_build_url
License
MIT

Documentation

http-build-url

Advanced version of http_build_url

Travis CI

Build Status

Codecov

codecov

Installation

  1. composer require mingalevme/http-build-url.

  2. Now you are able to use the tool:

<?php

echo build_url('//github.com/mingalevme/http-build-url', [
    's' => 'https', // s (scheme): set scheme only if not presented
]); // https://github.com/mingalevme/http-build-url

echo build_url('http://github.com/mingalevme/http-build-url', [
    'S' => 'https', // S (SCHEME): force set scheme
]); // https://github.com/mingalevme/http-build-url

echo build_url('https://github.com/mingalevme/http-build-url', [
    'h' => 'bitbucket.org', // h (host): set host only if not presented
]); // https://github.com/mingalevme/http-build-url

echo build_url('https://github.com/mingalevme/http-build-url', [
    'H' => 'bitbucket.org', // H (HOST): force set host
]); // https://bitbucket.org/mingalevme/http-build-url

Usage

/**
 * Build an URL
 *
 * @param string|array $url Base url or parts of the url (aliases is not supported), to build from scratch use any falsy value, e.g. [], null or ''
 * @param array $replacement [optional] Associative array like parse_url() returns
 * @param array &$newUrlParts [optional] If set, it will be filled with the parts of the composed url like parse_url() would return
 * @return string The new URL string
 */
Mingalevme\HttpBuildUrl\HttpBuildUrl::build(string|array $url, array $replacement=[], array &$newUrlParts=null)

Aliases

/**
 * "p" is not used to not confusing between port, path, password;
 * use fully qualified name
 */
[
    'u' => 'user',
    's' => 'scheme',
    'h' => 'host',
    'q' => 'query',
    'f' => 'fragment',
]