Skip to content

Latest commit

 

History

History
92 lines (66 loc) · 3.1 KB

README.md

File metadata and controls

92 lines (66 loc) · 3.1 KB

UrlShortener Library

Latest Stable Version License Build Status

This library helps you to generate shortlinks for long url using different URL Shorteners.

Supportet URL Shortener

Installation

The preferred way to install this library is to use Composer.

    $ composer require twodevs/url-shortener ~1.0

Choose a http client support by Ivory HttpAdapter

    $ composer require guzzlehttp/guzzle ~5.0

General Usage

    // Create a client
    $client = new \GuzzleHttp\Client(['defaults' => ['verify' => false]]);
    
    // Create the Adapter
    $adapter = new \Ivory\HttpAdapter\GuzzleHttpHttpAdapter($client);
    
    // Create BitlyShortener
    $shorter = new \TwoDevs\UrlShortener\Provider\BitlyProvider($adapter, ['access_token' => 'your-token']));
    
    // Shorten a long url
    $shortUrl = $shorter->shorten('http://example.org');
    
    // Expand a short url
    $longUrl = $shorter->expand($shortUrl);
    
    var_dump( (string) $shortUrl );
    var_dump( (string) $longUrl );

Using chain provider

    // Create a client
    $client = new \GuzzleHttp\Client(['defaults' => ['verify' => false]]);
    
    // Create the Adapter
    $adapter = new \Ivory\HttpAdapter\GuzzleHttpHttpAdapter($client);
    
    // Create ChainProvider and attach bitly, google shortener and Tiny-Url
    $shorter  = new \TwoDevs\UrlShortener\Provider\ChainProvider();
    $shorter->addProvider(new \TwoDevs\UrlShortener\Provider\BitlyProvider($adapter, ['access_token' => 'your-token']));
    $shorter->addProvider(new \TwoDevs\UrlShortener\Provider\GoogleProvider($adapter, ['key' => 'your-key']));
    $shorter->addProvider(new \TwoDevs\UrlShortener\Provider\OwlyProvider($adapter, ['key' => 'your-key']));
    $shorter->addProvider(new \TwoDevs\UrlShortener\Provider\TinyUrlProvider($adapter));
    $shorter->addProvider(new \TwoDevs\UrlShortener\Provider\IsgdProvider($adapter));
    $shorter->addProvider(new \TwoDevs\UrlShortener\Provider\VgdUrlProvider($adapter));
    
    // Shorten a long url
    $shortUrl = $shorter->shorten('http://example.org');
    
    // Expand a short url
    $longUrl = $shorter->expand($shortUrl);
    
    var_dump( (string) $shortUrl );
    var_dump( (string) $longUrl );

License

The TwoDevs UrlShortener is under the MIT license. For the full copyright and license information, please read the LICENSE file that was distributed with this source code.