Apart from a small todo-cli app and a laravel framework bugfix, I have nothing to show for in terms of open source contributions. I’ve always dodged contributing, and while there lots of reasons for not doing it, the truth is I was mostly hiding behind the “I don’t have time” and “I don’t have a good enough idea” excuses.
But that ends today. Recently I stumbled upon a tweet from Freek (do follow, lots to learn from) asking if there’s a package to convert different time units and assign some meaning by escaping the use of magic numbers when returning stuff like 60 * 12.
I wanna get rid of these magic numbers.
Did someone already make a package that can do stuff like this:
— Freek Van der Herten (@freekmurze) May 14, 2018
The suggested API, Minutes::fromHours(5) is a lot clearer and has more meaning than a random math operation but it implies having separate classes for each time unit. It also prevents me from doing any further conversions on the same value.
Since I’ve never published a php package before, and I was curious about the whole process, I went ahead and created druc/time-convert. It contains a single class and you can do stuff like $time = TimeConvert::hours(5)->toMinutes() and also continue with further conversions like $time->toSeconds().
I’m sure is the smallest and most trivial php package out there, but at least I got to go through the publishing process. 🙂