I got into writing about PHP in an odd way. I wanted to learn PHP programming and found it difficult to find books that bridged the gap between beginner and intermediate programmer, the point where as a programmer, you are good enough to start using a PHP framework.
When I did find a book about a framework, I found I had to take copious notes to understand it, because as a beginner, I was often lost and frustrated at myself for not being able to pick it up easily. If you have ever felt this way, I understand your pain.
I always thought I was alone in those feelings, but as I speak to more and more programmers, it seems like it’s a common story. Learning programming is so hard that most people feel that they are not very good at it, and that they have been close to giving up.
I felt this way when I started learning my first php framework, the Yii framework. I was drowning in it, even though there was a decent book out at the time. The trouble was Yii 1 wasn’t very intuitive and the book wasn’t really written for beginners, so even that book was over my head most of the time.
Yii 2 came out right at a time when I was pulling together my basic programming capabilities, and I really loved it. I found myself coding and building a re-usable template, step by step creating the things I knew I would need for most projects. Having progressed in my skills, I made faster progress studying Yii2 than I did with Yii 1, even though now in retrospect, Yii 1 is simpler in many ways.
Of course I had to take a lot of notes to make any progress at all, and then it occurred to me that I could write a book from the notes, and that the act of writing really helped me cement my understanding of things. So I went through and meticulously documented everything, no matter how basic, just to make sure I understood what I was doing.
The initial draft of the book was a mess. It had a million typos, and few that even broke the code. I got some negative feedback on parts that didn’t make sense to some readers.
Rather than fold up, I decided to dedicate myself to improving the book and extending it. I wanted to write a book for beginners worthy of a 5 star review. In the end I wrote 695 pages, which currently has 4.66 out of 5 star rating on GoodReads.com. So all the hard work and revisions paid off because my goal was to learn and to share what I learned in a way that would be useful to others.
After learning my way around Yii 2, I was really happy because I thought I would plug more easily into what we were doing at work, but then I hit a huge road block. The team at work decided to move onto to Laravel for our enterprise development.
This came as a big shock to me of course. I had previously checked out Laravel and was completely unable to get a handle on it. I was a fan of Laracasts, but I found myself confused by long explanations about dependency injection, which didn’t seem to have any practical application to me at all. I even wrote a few articles against it on my PHP Frameworks blog.
But I was wrong about that. Completely wrong. Dependency injection in Laravel is just awesome. And being forced into Laravel opened up a whole new world to me.
Shortly after the release of Laravel 5.1, I was familiar enough with Laravel to recognize just how innovative and beautiful it is. Laravel is a PHP coder’s dream come true. As of this writing, we are on Laravel 5.4 and I love it even more.
Programming is one of those professions where you have to constantly be learning or you will fall hopelessly behind. Learning PHP, like I said, it’s not something that comes easily to me. I have to work very hard at it. As I’m going through it, I’m sharing as much as I can that will be useful.
I’m really grateful for all the positive feedback and comments I’ve gotten, especially the reviews on Laravel 5.4 For Beginners, the previous version of the book. I’m striving to produce the highest quality writing and the most relevant content possible. I want my work to make a difference in the world.
Accessibility and clarity are the keys to great writing and I’m doing everything I can to provide that. Like I said earlier, I know just how hard learning can be and I want to help. My goal is to provide useful tools to help programmers and others become successful in all that they do.
You can help support my work by commenting, telling friends, reviewing, linking to my work, purchasing a book, liking, and by sharing. Thanks again for all the positive comments and support, I really appreciate it.