By some accounts there are at least 5 million PHP developers in the world, each with a different skill level. But how did we all become PHP developers? Almost every PHPer has an interesting background story, and it is worth your time to investigate the back-stories of other PHPers you meet.
So lets say you want to become a PHPer and don’t know where to start. I’m here to help! Read on…
The first thing I’ll say is this: if you are coming to web development from a completely different background, even a non-technical background, hooray for you. I’m in the same boat. I’ve always loved computers and technology but I’m currently in my first and only true tech job in my career, and I’m in my mid 30s. What I’ve found is that the experiences you’ve had before give you context in terms of business processes and how the world of work works. That’s not to say a career programmer can’t gain that knowledge, but I think its harder.
I’ve always said this: I can learn the programming..there’s books and web articles out the wazoo to do so. Interpersonal and oral/written communications skills, business process knowledge, and policy level awareness aren’t so easy to learn, particularly if you’ve never been in the trenches of an organization doing the actual work that a web app is built to support. A web developer spends a lot of time translating client wants into actionable tasks, and you can’t do that with an abstract knowledge of what you can do with code.
PHP can be as simple or complex as you want it to be. To learn the language, you’re going to need a text editor of some kind (something better than NotePad), a PHP-enabled web server somewhere, and some time. Everything else you can get for free on the web. Oh, you’ll need time, of course.
When I started writing PHP, I already knew the basics of HTML. This is an essential piece, because HTML is the presentation language that results from your PHP scripts. So, if you lack basic HTML, you need to go back and pick that up first. There’s a billion HTML tutorials on the web to help you out. Learning HTML doesn’t require a PHP server, so you can write HTML files on your own computer and open them in your browser to view your work.
If you work for an organization that already has web servers that are PHP enabled, then you just need to get access so that you can place your PHP script files on the server in order to run/test them. If you’re learning on your own, you’re going to want to “rent” some web space. The host I recommend most highly is Asmallorange.com, they have personal hosting plans as cheap as $25/year, which would be fine for a small PHP beginner site.
You’re also going to need a text editor, preferrably one with syntax highlighting so you can understand your code better. I coded for nearly a year with plain old Notepad, and let me tell you that tracking down mistakes is a nightmare without syntax highlighting.
There are several good free IDEs (integrated development evnvironment) out there, but the simplest for beginners is probably CodePad by Trellian. Once you get good, you’re going to want something with more features, like Zend Studio, NetBeans or Komodo, but for beginners, Codepad has all that you need. For Mac users, I really love Coda by Panic, but the lack of inline error checking keeps me from using it as my primary IDE.
The next thing you’re going to need are some tutorials. I highly recommend this PHP/MySQL tutorial at freewebmasterhelp.com. This is the same tutorial I got started with, and will give you a basic understanding of how to use PHP with a MySQL database to create, edit and delete records.
The other thing I would recommend are books. Get lots of books on programming, even if you rarely use them. They are excellent reference materials and I find myself referring back to them over and over again.
The best beginner’s PHP guide I found, and the one that helped launch my still-new career, is Beginning PHP and MySQL: From Novice to Professional, by W. Jason Gilmore. The book starts you out with the basic principles such as proper syntax, strings, arrays, etc. and works you up slowly. Even after you’ve mastered the concepts, the book is an excellent desk reference.
Hopefully there’s a newbie out there reading this that has benefited from my suggestions. Feel free to leave me a comment with your favorite beginner’s resources.