I’ve already spoken a little about trends in the software world but for me, I want to do something that I will finds interesting or new if it’s my pet project.
The first thought that comes to mind is to use ASP.NET Core. Version 2 is now available so many of the initial niggles are out of the way and that looks really cool. The whole idea that I can write software which will run on Linux, Mac, Windows etc, sounds really appealing. I’ve also been doing lots with Azure at work, so I can see some good synergies. There’s lots of free tooling, heaps of libraries and I have a lot of experience with .NET.
What about PHP? One of the things I like about PHP is that there is practically a function for everything but then, a function for everything means it’s quite a beast, not least because there are some glaring inconsistencies in how it was designed! As a lingua-franca of the web though, it can’t be beaten in terms of numbers and there are some intriguing frameworks I would like to use such as Laravel and Slim. I’ve also got a fully paid up hosting account which means I can run anything I create for free – that’s
hard to argue with! PHP also executes on a variety of platforms, there are lots of free IDEs and a plethora of packages.
Choices, choices. There are arguments for both but since I am about to embark on a big project to migrate a legacy PHP application into the cloud, that language and stack makes a lot of sense right now – so, PHP it is.
After much consideration, calculations involving algebraic formulae and gnashing of teeth, this is what I plan on using:
- PHP (1&1, my hosting provider, offer up to version 7)
- Apache (Again, pretty standard for Linux hosting)
- Slim (a micro framework)
- MySQL for the database (I can have an almost unlimited amount – I will need precisely one!)
No big earth tremors there, but why Slim?
Their web page sums it all up in one sentence: “Slim is a PHP micro framework that helps you quickly write simple yet powerful web applications and APIs.”
This mini-project is planned from the outset to be pretty simple. Plus, I really don’t need a huge amount of infrastructure to heave around when ultimately, what I plan on doing is just adding a few books and querying them. It also has PSR-7 support so is keeping up with standards and has dependency injection baked in so I ought to be able to use PHPUnit with it (something I quite fancy trying and comparing to NUnit in the .NET world).
There’s one other reason I quite like the idea of Slim – I have come across a YouTuber called David Connelly who I think is hilarious. I watched one of his videos recently which I am still thinking about and smiling over – go check out his channel, he’s great! Oh, but
why Slim? He has a great 8 part introduction on it involving writing an API for a book-like service – that should get me started nicely. Bear in mind that not all 8 are within the playlist though; you will need to hunt around his channel and pop over to his website
Written by Stephen Moon
email: stephen at logicalmoon.com