Are you a budding web developer wondering where to start? An old hand looking for new tools? Let me tell you a little bit about how I do my PHP / web development work, and maybe some it will be of use to you.
I am starting up some work on Mealographer again. It definitely needs it, I did a usability test about a year ago and still haven’t fixed the issues I uncovered. I haven’t been doing a lot of work in PHP recently, at my day job is all Java all the time. I used to be happy with a text editor, a server somewhere and a browser, but since I’ve been using Eclipse I’ve become spoiled by better tools.
So what do you need to get started? If you just want to play around, all you need is:
A text editor. You can use Notepad, but I’ve used HTMLKit in the past. It’s free and it does basic stuff like syntax highlighting nicely.
A server. You can set everything up on a remote server, many have PHP accounts for as low as $5/month. Right now I use Site5 [referral link]. I also want to give a shout out to Q5Media, though PHP isn’t their main thing.
A browser. This is pretty basic, but worth mentioning. You need Firefox, which is free to download. You’ll also want to test things in IE, which you probably already had.
You can do real work with just the above. It’s worth taking advantage of all the great tools out there, though, including:
An integrated development environment (IDE) – I’m pretty happy with Eclipse for Java development (or the related IBM RAD 6). What about for PHP? Right now I’m trying to decide between PHPEclispe and the PDT plugin. Anyone have an opinion on which way to go?
A local development server – If you want to run PHP locally on windows, you can install Apache or get PHP working on IIS. In my experience, though, you can’t beat WAMPSERVER – it includes Apache, MySQL and PHP and makes configuration pretty easy.
Source control – There’s no way to keep track of a project of any real size without a change management system. I have used CVS a lot, and SmartCVS is a good free client. There are also CVS plugins for Eclipse. I have heard a lot of good things about Subversion as well.
So that’s what I use – what am I missing? Post suggestions in the comments below.