Skip to content

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

License

Notifications You must be signed in to change notification settings

Zeichen32/UrlShortener

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages