PHP Development Environment

There have been four phases to the evolution of my PHP development environment. First, I used notepad, FTP and a shared hosting account. WS_FTP to be exact, made by IPSwitch which once sent me a free t-shirt for sending in a testimonial for their website.

Once I took on a job working on a PHP application larger than one file in size (Contact Administrator), the single file per window, single undo abilities of notepad didn’t cut it anymore. I upgraded to TextPad. I gained the convenience of a single window for all open files, syntax highlighting, multiple levels of undo, and the ability to replace patterns in all open files. My routine still consisted of opening all the files in a project in TextPad, writing code, saving, uploading by FTP to the server, and testing the changes live.

It wasn’t until 2005 that things changed significantly. I discovered vim, starting the third phase. I had been managing two servers to run my websites for a few years by now but had only known vi as a text editor that was hard to quit out of. Then I met Amir while working at The Math Forum, a “vi guru”. His copy had color, syntax highlighting, edited multiple files at once, transformed huge blocks of text at a time, ran regular expression replacements in a flash. Watching him code got me hooked. For nearly a year I worked directly on my servers over SSH in PuTTY, editing code on the server with vim.

Then W3Counter came along. It was my most ambitious project yet - a full-blown web statistics service, a competitor for Google Analytics and the likes, to support thousands of simultaneous users, and I wanted to finish it in under a month. It ended up taking around two. This project was bigger and more complex than the PHP scripts I had worked on before, and my knowledge of the language had advanced much past when I developed Contact Administrator. I had gained experience in Java, MVC, frameworks, ORM. I wasn’t going to tackle something like W3Counter with huge files of procedural code.

That’s when I moved on to my current environment. My editor of choice is Eclipse with the PHP extensions, released as the Eclipse PHP IDE. It gives me a view of my directory hierarchy, a browser for my class APIs, code completion and an internal browser.

I combine that with WAMP5 for a local copy of Apache, PHP and MySQL. I keep my development environments up-to-date, and deploy to my live servers with Subversion. Eclipse has TortoiseSVN plugins for easy integration. I set up the Subversion repository after reading Pragmatic Version Control Using Subversion.

What I’m currently working on is a project on top of the Symfony framework. I found it easiest to start off with the sandbox copy rather than linking in Symfony externally from the project. One hitch with this is that the Symfony CLI requires PEAR, which WAMP5 didn’t come with installed, and the included installer script didn’t work correctly (on Windows Vista at least). This go-pear copy worked fine when run from the php directory of my WAMP installation.

When I do still need to transfer a file to a server that’s not under SVN control I’m back to the same software I used in 1996: WS_FTP LE.

AddThis Social Bookmark Button

3 Trackbacks to “PHP Development Environment”

  1. Trackback from Dan Grossman : W3Counter 3.0 Development Log: 12/23/06 on December 23rd, 2006 at 2:06 am:

    […] As you might’ve guessed from the comments in the screenshot in my Development Environment post, I was setting up to start this project. […]

  2. Trackback from Dan Grossman » Multiple local websites with Apache in Windows on August 25th, 2007 at 8:14 pm:

    […] While my primary IDE has changed to Visual Studio (even for PHP with VS.PHP), the rest of my development environment is mostly the same as it’s been since December. My projects are growing in code size, and the […]

  3. Trackback from JasonMorrison.net » How do you set up a PHP development environment? on November 10th, 2007 at 4:17 pm:

    […] 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 […]

8 Responses to “PHP Development Environment”

  1. cbmeeks
    December 20th, 2006

    Man thanks! I come from the ASP.NET/MSSQL world and have been getting into LAMP. Thanks for pointers on what to use.

    cbmeeks
    http://www.codershangout.com

  2. Steve Clay
    January 19th, 2007

    What’s the difference between the PDT Project and PHPeclipse? Same thing? I’m trying to move away from Dreamweaver 8 and PHPed’s Code Insight looks really impressive, how does PHPeclipse compare?

  3. Giorgio Clavelli
    February 5th, 2007

    Thank you very much for sharing your experience. Much appreciated.

    I too would like to hear about the difference between the PDT Project and PHPEclipse.

    Thank you in advance

    Giorgio

  4. Ethan Cane
    February 13th, 2007

    Many thanks for this brief journey into how you got started, sounds familiar.

    I am developing soley on the Linux platform using Eclispse Web Tools and PDT extensions too now.

    Finding it to be very stable so far.

    Hope the 1.0 release comes along as scheduled.

    Ethan Cane
    Web Developer

  5. Carl
    February 20th, 2008

    To those who asked, I think PDT is more “official”. I think it used to be called PHP IDE, and I think Zend has something to do with it.

    PHPEclipse is an alternate plugin done by someone else.

    As for which one is better, I believe PDT might be getting more development behind it, and is the popular choice.

    Of course, I could have all my facts confused, but I hope this helps.

Leave a Reply

You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Network Activity

Visitor Boost and Targeted Visitors have received 17 orders today and 15 orders yesterday.

W3Counter is currently processing -39 queries per second for 12,750 websites.

Website Goodies is hosting 79,836 guestbooks, 12,159 counters and 7,276 polls.

Award Winning Hosts has collected 182 customer reviews of web hosts.