Unify Shorten - Make all URL Shorteners together
This is a package that helps you quickly access various short link services, which you can use to make your app support short links provided by different short link services. From full disclosure, to requiring registration, and even paid services.
Installation
You can install the package via composer:
composer require sunxyw/unify-shorten
You can publish the config file with (it should be published automatically):
php artisan vendor:publish --tag="unify-shorten-config"
Usage
// using Facade
use Sunxyw\Shorten\Facades\Shorten;
Shorten::shorten('AWESOME URL HERE'); // using default provider
Shorten::provider('cuttly')->shorten('AWESOME URL HERE WITH CUTTLY'); // using cuttly provider
// using helper function
shorten('AWESOME URL HERE'); // using default provider
// using Shorten class
use Sunxyw\Shorten\Shorten;
app(Shorten::class)->shorten('AWESOME URL HERE'); // using default provider
app(Shorten::class)->provider('cuttly')->shorten('AWESOME URL HERE WITH CUTTLY'); // using cuttly provider
app(Shorten::class)->gotiny->shorten('AWESOME URL HERE WITH GOTINY'); // using gotiny provider (using magic property)
All the methods above will return the shortened URL.
Supported Providers
API | Auth | HTTPS | CORS |
---|---|---|---|
1pt | No | Yes | Yes |
CleanURI | No | Yes | Yes |
Cutt.ly | apiKey |
Yes | Unknown |
GoTiny | No | Yes | Yes |
Firebase | apiKey |
Yes | Yes |
If you have more providers that you would like supported, please contact me in Issues. For paid providers, it would be even better if you could provide test credentials.
Testing
composer test
Changelog
Please see CHANGELOG for more information on what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
Credits
License
The MIT License (MIT). Please see License File for more information.