A minimal Laravel package for shortening URLs. Apart for creating short URLs - like bitly - it also supported updating URL redirects and tracking URL clicks.
Install the package. It supports Laravel 5.5 and up (including 7.0 and up).
composer require arietimmerman/laravel-url-shortener
php artisan migrate
And start shortening URLs
(string)URLShortener::shorten("http://www.example.com");
Or
php artisan url:shorten http://www.example.com
Add the service provider in your config/app.php
.
'providers' => [ /* [..] */ \ArieTimmerman\Laravel\URLShortener\ServiceProvider::class /* [..] */ ];
Publish the configuration and the view.
php artisan vendor:publish --provider="ArieTimmerman\Laravel\URLShortener\ServiceProvider"
Optionally, register for URLVisit events in your EventServiceProvider
.
protected $listen = [
'ArieTimmerman\Laravel\URLShortener\Events\URLVisit' => [
'App\Listener\YourListener',
]
];
See config/urlshortener.php
Build and start the docker container.
docker-compose build
docker-compose up
Now shorten an URL like this
docker-compose exec laravel-url-shortener php artisan url:shorten https://www.example.com
Check out the redirect
curl -v http://localhost:18123/code