Files
faveo/vendor/mremi/url-shortener
Manish Verma 76e85db070 update 1.0.8.0
Commits for version update
2016-10-17 12:02:27 +05:30
..
2016-10-17 12:02:27 +05:30
2016-10-17 12:02:27 +05:30
2016-10-17 12:02:27 +05:30
2016-10-17 12:02:27 +05:30
2016-10-17 12:02:27 +05:30
2016-10-17 12:02:27 +05:30
2016-10-17 12:02:27 +05:30

URL shortener library

This library allows you to shorten a URL, reverse is also possible.

SensioLabsInsight

Build Status Total Downloads Latest Stable Version Scrutinizer Quality Score Code Coverage

Basic Docs

Installation

Only 1 step:

Download UrlShortener using composer

Add UrlShortener in your composer.json:

{
    "require": {
        "mremi/url-shortener": "dev-master"
    }
}

Now tell composer to download the library by running the command:

$ php composer.phar update mremi/url-shortener

Composer will install the library to your project's vendor/mremi directory.

Bit.ly API

<?php

use Mremi\UrlShortener\Model\Link;
use Mremi\UrlShortener\Provider\Bitly\BitlyProvider;
use Mremi\UrlShortener\Provider\Bitly\OAuthClient;

$link = new Link;
$link->setLongUrl('http://www.google.com');

$bitlyProvider = new BitlyProvider(
    new OAuthClient('username', 'password'),
    array('connect_timeout' => 1, 'timeout' => 1)
);

$bitlyProvider->shorten($link);

$bitlyProvider->expand($link);

Google API

<?php

use Mremi\UrlShortener\Model\Link;
use Mremi\UrlShortener\Provider\Google\GoogleProvider;

$link = new Link;
$link->setLongUrl('http://www.google.com');

$googleProvider = new GoogleProvider(
    'api_key',
    array('connect_timeout' => 1, 'timeout' => 1)
);

$googleProvider->shorten($link);

$googleProvider->expand($link);

Chain providers

<?php

use Mremi\UrlShortener\Model\Link;
use Mremi\UrlShortener\Provider\ChainProvider;

$chainProvider = new ChainProvider;
$chainProvider->addProvider($bitlyProvider);
$chainProvider->addProvider($googleProvider);
// add yours...

$link = new Link;
$link->setLongUrl('http://www.google.com');

$chainProvider->getProvider('bitly')->shorten($link);

$chainProvider->getProvider('google')->expand($link);

You can retrieve some links using these finders:

<?php

use Mremi\UrlShortener\Model\LinkManager;

$linkManager = new LinkManager($chainProvider);

$shortened = $linkManager->findOneByProviderAndShortUrl('bitly', 'http://bit.ly/ze6poY');

$expanded = $linkManager->findOneByProviderAndLongUrl('google', 'http://www.google.com');

Contribution

Any question or feedback? Open an issue and I will try to reply quickly.

A feature is missing here? Feel free to create a pull request to solve it!

I hope this has been useful and has helped you. If so, share it and recommend it! :)

@mremitsme