With so many php frameworks (Laravel, Yii, Symfony, and so on), you may be wondering why to build a new one from the ground up. It's a valid question, no doubt, but the thing is that all those wonderful frameworks have a lot of "magic" going on behind the curtains. And, to be honest, it's not rare to find ourselves being able to build some apps with, let's say Laravel, and think "damn I'm good". And you are...until the next interview arrives. Or until you're allready on the job and keep getting stuck with things. Or until you find yourself in a very specific situation when a framework simply wont cut it. And all this brings an important point "a framework is a tool, not an ability".
I'm sure you want to be the best developer you can, and building a framework, is, for one, an incredibly oportunity to learn and put into practice some advanced concepts that will further your competence incredibly. But not only that. I'm not talking about building a "toy" framework, but a very solid base to work on your own projects. We'll put that to test bulding complete applications. You'll learn:
- What is the MVC pattern and how to implement it.
- How to configure pretty urls and why it's a good practice.
- How to build a class to manage database connections.
- How to configure the autoloading of classes.
- What dependency injection is and when to use it.
- How to build and run automated tests.
Also, you will find an appendix with some of the most common questions (and answers) that you can encounter in technical interviews.
By the end of the book, you will be a well rounded developer.
Let's get to work!