My Development Environment.

I spend most of my development time sat in Eclipse, I find it funny (or maybe slightly alarming) that only four moths ago I had never ventured near an Integrated Development Environment and spent a lot of time toiling away with a Crimson Editor.  All I can say is that if you haven’t tried getting to grips with Eclipse, then now is the time.
As my work is split between programming in PHP and ActionScript, I use Flex Builder as the base for my Eclipse Setup (Flex Builder 3 is built ontop of the Eclipse 3.3 platform).  Flex Builder comes with an ActionScript parser and debugger.  The parser is not as good as FDT (which I use at work), but is a damn sight cheaper which is always welcome.   Eclipse is incredibly modular and allows you to enhance it’s basic functionality buy installing components which provide additional perspective and functionality.   I make use of the following:

  • PDT 1.x – PHP Development Tool, includes code completion and syntax highlighting.
  • Subclipse 1.4 – SVN Integration for eclipse, essentail for checking in my own code and 3rd party code which I make sure of (Such as the CakePHP Core).  Again, if you’re not using SVN then you really should!

I keep my PHP and ActionScript development seperate by using two Workspaces and swtiching between the two (I do a similar thing at work by having two workspaces for our ActionScript 2 and ActionScript 3 projects at Mindcandy).  To avoid any potential UAC problems in Vista, I make sure that my Workspace is located in my User folder – this also helps with backups keeping everything in one place.
To back this up, I run a straight forward Apache 2.2, MySQL 5 and PHP 5.2 stack ontop of Windows Vista x64 (Even with UAC turned on!).  I had no problems installing the stack, I just made sure that everything was installed inside my User folder.  (ie: C:\Users\Jonny\Webroot\Apache2-2, etc).  I configure individual vhosts for the projects I work on and point the webroot at my Eclipse Workspace (ie: C:\Users\Jonny\Projects\PHP\Project_Name). This allows me to simulate a webdeploy environment which makes deploying sites to a web server easier.  To complete my local dev setup I setup fake sendmail which allows the mail() funcitons inside PHP 5 to be relayed to a remote mail server (very handy! — again, I was suprised that this worked without a hitch on Vista x64).