How to Start Learning PHP in 2025
If you’re getting started learning PHP or want to get started, this post is for you. In it, I step you through the essential things you need and things you need to know to start your learning the right way.
I'm a full-stack web developer and technical author living in Bundaberg (Queensland), Australia. I've been developing web applications for over twenty years.
I've also been teaching developers how to build web-based applications (mainly in PHP) for over ten years, through my tutorials, content created for others, and my books and courses. If you're keen to grow your skills, definitely check them out.
I help businesses build web apps they can depend on, showing organisations (and their teams) how to build and deploy well-tested web apps that are maintainable, easy to deploy, and excellently documented. If you'd like to work together, you can find out more here.
And, I craft compelling, informative, and engaging technical tutorials, showing developers how to use a range of services and technologies in their web applications. If your business could benefit from them, you can find out more here.
Otherwise, you can find me me on LinkedIn, GitHub, YouTube, Mastodon, and Bluesky.
If you're short on time, but keen to grow your software testing, deployment, and documentation skills, check out the latest tutorials below. Check out all the tutorials on the blog if you're keen to learn more.
If you’re getting started learning PHP or want to get started, this post is for you. In it, I step you through the essential things you need and things you need to know to start your learning the right way.
Is PHP worth learning in 2025, with all of the attention that other languages, such as Go, get? In this post, I’ll show you a series of compelling reasons why PHP is still worth learning - even if it’s not adopted as much nor as quickly as it once was.
While building a simple user manager for Mezzio projects, recently, it turns out I’d gotten my understanding of PSR-15 Request Handlers and Middleware a little mixed up. Some friends set me straight about the difference, so I want to talk about that today.
When building reusable Mezzio packages, such as for user management, payments, and authentication, do users have to enable them manually, or are you automating it for them? In this short tutorial, I’ll show you how to enable them almost automatically, saving your users time and effort.
Short on time or want to learn on the go? Tune in to the podcast.