When developing Drupal applications on my Mac, I like having access to the same tools I use on servers. This allows me to test for possible conflicts and issues, while evaluating performance impact. I recently decided to look at getting Memcached going on my Mac since we use it on servers at Classic Graphics. Memcached is a memory-based caching system for speeding up web applications by storing chunks of data. Drupal and PHP can leverage Memcached to assist with performance.
I presented a bit on how to setup Drupal Code Sniffer with Sublime Text 2 at our last CharDUG meet up. I wanted to follow-up in writing on how to set up this functionality since I didn't have slides prepared at the meet up.
A brief description from the Drupal Code Sniffer project page:
I am a huge fan of the Drupal Textmate project. It saved me quite a bit of time when developing Drupal modules with Textmate. After switching to Sublime Text 2, I have missed the ability to startup a new Drupal module project quickly with a template.
Update: The commands for checking all project updates is best run without the drush --simulate option. The --simulate option appears to not always run all update checks. Try this instead of what is listed below in the article:
drush vset update_check_disabled 1 -y && drush -n -p up
Update: The docs below are deprecated. Please refer to these docs going forward. Also, MAMPbegone is now brewStack! Thanks to @tlattimore for providing the cool name!
I have had an on and off relationship with MAMP over the years. I love how MAMP makes it super easy to install a nice stack of web server tools in an OS X Application, but it does have its share of limitations.
Running older version of PHP. Sometimes I would like to run a slightly newer version than is available.
Running Apache 2.0. No Apache 2.2 love in MAMP yet.
There isn't an easy way to add new PHP extensions. I recently needed XMLRPC and had to track down a binary from the Moodle community. Another example is intl. I needed that for some recent Symfony work.
Pear doesn't always work out of the box without some fixes.
While it is open source, if I have to compile much to fix MAMP, I might as well compile PHP from CLI from source as I did for years prior to using MAMP.
I do appreciate MAMP! It is great and I still recommend it for anyone who can live within its feature set and limitations. I often recommend it for new Drupal users. MAMP allows them to get started very quickly.
As I mentioned above, I have also spent a bit of my development life compiling Apache and/or PHP from source to build local development environments. This is something that I don't want to do again. So what do I want? I want to have a local development evironment with the following characteristics:
Easy to install and configure
Easy to upgrade
Easy to extend (Adding new PHP extensions or upgrading PHP)