
Polr – A modern, minimalist, and lightweight URL shortener in PHP - cydrobolt
https://github.com/cydrobolt/polr
======
simple10
Not to dis Polr, but if performance and minimalism are your thing, there are a
lot of nginx + lua + redis URL shorteners on github.

Two random'ish selections...

[https://gist.github.com/MendelGusmao/2356310](https://gist.github.com/MendelGusmao/2356310)

[https://github.com/sanshi0518/shorturl-
nginx](https://github.com/sanshi0518/shorturl-nginx)

~~~
lsaferite
Just a few seconds of searching for a go based one yielded:
[https://github.com/samwierema/go-url-
shortener](https://github.com/samwierema/go-url-shortener)

------
ysleepy
Yes, 4192 files and 32MiB, quite minimal.

~~~
ahoka
Maybe it's some kind of dadaist minimalism?

------
dubcanada
Why is the entire vendor directory in github? I'm fairly certain some of those
packages cannot be redistributed like that.

~~~
munger
Agree. What is the point of using composer or any dependency manager if you
check-in the vendor folder?

~~~
huuu
Because your project is useless when a dependency is removed in the future. It
happened to me one time and now I'm really considering to include the vendor
folder in my own repository.

Of course a dependency manager is still very useful to setup a new project.

------
kevin_thibedeau
Wouldn't a minimalist implementation just look up shortened URLs in a map and
spit out a redirect to the original URL? Seems like that could be done in a
few KiB.

~~~
milankragujevic
TBH, You can pretty much do a single PHP file, with no dependencies, and
without mod_rewrite. Just site.com/?fDS- for example, and it redirects.
Storage can be MySQL or some other DB or even a flat file with locking.

------
0xmohit
URL Shortener in 43 lines of Haskell.

[http://bitemyapp.com/posts/2014-08-22-url-shortener-in-
haske...](http://bitemyapp.com/posts/2014-08-22-url-shortener-in-haskell.html)

------
intenscia
Congratulations on the release but I can just discourage people to use URL
shorteners. They obfuscate key information, are potentially a security risk as
a result, require extra http requests and what happens in the future when you
turn the service off? A trend I've never fancied.

~~~
corobo
On the other hand if you're linking to something you don't control and you
need to track stats then use branded URL shorteners.

Sometimes there are valid use cases for things.

------
shaftoe
I'm always amazed to see minimalist used to describe a dozen placeholder
directories and files. That said, the code is clean and modern php.

~~~
cydrobolt
Minimalist in regards to its design, perhaps not the code structure :)

In contrast to other projects such as YOURLS, Polr tries to be minimalist by
avoiding heavy graphs or unnecessary bloat.

~~~
asimuvPR
The structure is good. You can read what's happening clearly. It also shows
what's a laravel idiom and what is modern php. I giggled a bit when reading
the user factory code. It feels so enterprise. Not a bad thing in itself. I
was just happy to see php code that is not a ball of mud held together by holy
water. :)

~~~
cydrobolt
Haha, I totally agree. Reminds me of this: [http://www.willa.me/2013/11/the-
six-most-common-species-of-c...](http://www.willa.me/2013/11/the-six-most-
common-species-of-code.html)

~~~
asimuvPR
I hope to one day be able to code like the cat. :)

------
mrmondo
Good on you for making it, but I have to side with the comments here that it's
not only not lightweight, I personally also can't see what's so modern about
it - I'm not hating on PHP but even as a language that's an old beast.

------
mrzool
Serious question: Is URL shortening still a thing? What are the use cases?

~~~
corobo
Tracking stats when you're linking to something you don't control

------
wineisfine
Nice that's it's in php/MySQL so it works anywhere.

