toin0u / concise
Concise your urls via extern providers
Requires
- php: >=5.3.3
Requires (Dev)
- guzzle/guzzle: ~3.9
This package is auto-updated.
Last update: 2024-10-24 04:07:51 UTC
README
Concise your urls via extern providers :)
Install
Via Composer
$ composer require toin0u/concise
Usage
Simple example using Google
provider:
use Concise\Concise; use Concise\Provider\Google; use Ivory\HttpAdapter\GuzzleHttpAdapter; $concise = new Concise(new Google(new GuzzleHttpAdapter)); // Returns the shortened URL $concise->shorten('http://any.url'); // Returns the expanded URL $concise->expand('http://short.ly/1234');
For full list of available adapters check the official documentation.
Currently supported providers:
- Bitly
- Tinycc
Provider chaining
You can shorten a URL using multiple providers at once.
Make sure to add the Provider
s in the chain in the SAME ORDER for both shortening and expanding. Expanding is automatically done in a reversed order.
use Concise\Concise; use Concise\Provider\Chain; $chain = new Chain; $chain->addProvider(/* add a Provider instance here */); $chain->addProvider(/* add another Provider instance here */); $concise = new Concise($chain);
Caching
When working with lots of URLs it probably makes sense to cache already shortened/expanded URLs. This way you can avoid unnecessary HTTP requests.
To use caching install Stash first:
$ composer require tedivm/stash
use Concise\Concise; use Concise\Provider\Cache; use Stash\Pool; $cache = new Cache(/* add a Provider instance here */, new Pool); $concise = new Concise($cache);
Testing
$ phpspec run
Contributing
Please see CONTRIBUTING for details.
Credits
License
The MIT License (MIT). Please see License File for more information.