My amateur PHP developer toolset

I am not a developer, but I enjoy coding sometimes for hacking pleasure. I toyed with Ruby (Rails), Python (Django), exotic scripting languages (WebDNA) but nowadays I mostly tweak PHP, HTML, JavaScript, CSS code and some Bash. As an long time Apple user, I run only MacOS X on my Macintoshes, so over time I have selected my software tools of choice.

As text editor I use Coda for its well designed interface, integrated FTP browser, grep integration, CSS editor, DOM inspector, integrated terminal and ability to share live code over Bonjour using the Subetha engine, with better developpers than me at Emakina.

Unfortunately Coda can’t grep through a bunch of files, so I still have to use BBedit for massive re-factoring.
I tested SubEthaEdit, the free TextWrangler and ForgEdit. All of them are great text editors too, but lack some polish in their interfaces.

I also use Transmit from Panic as my main FTP software. It’s strong at syncing a whole sites with my servers and just well integrated in MacOS X. It syncs FTP bookmarks over .Mac which is practical when you work nightshift from the office to home 😉 Forklift is cool too, especially it’s FTP to FTP feature and integration of Amazon S3.

I experiment a lot of Open Source PHPware, so I download the latest trunk version of my favorite projects from their subversion repository. After using svn X (free but ugly) for years I have recently switched to Version. The current beta 4 is very stable and it’s interface matches perfectly with Coda. I like the way it present the recents changes in a Timeline, that you can unfold to click every file for a quick diff. Juxtapose Folders is also useful and free. But the diff presentation of CornerStone are by far superior. CornerStone is another Mac OS X style Subversion client and I’m still wondering if I’ll buy Version at the end of the beta or go for CornerStone.

But to integrate update of Open Source software I have modified, I use Changes, a stronger diff tool which allow me to compare a whole project then integrate code changes bits by bits into my version. Previously I used DiffMerge (free but ugly), but I was tired of having false positive because of Mac OS X / Windows linebreak differences.

On my development servers, after using Mac OS X Server since the beta version to 10.3, I switched to Tenon iTools. They have great support, keep updating their Apache, PHP and MySQL packages and are a three clicks install on a brand new Mac mini. Its web based remote administration interface allow me to control my servers from anywhere, anytime, even on a Windows machine. When developing offline (during holidays in remote locations) I use MAMP on my MacBook Air.

To edit MySQL databases I currently use phpMyAdmin like everybody, but I just stumbled upon Navicat. If you know some better MacOS X native MySQL editor, let me know in the comments below.

Leave a Reply