How To PHP Dev On A Mac

Submitted by Mile23 on Mon, 03/24/2014 - 15:10

I'm in the market for a new laptop, which means I'm in the market for a new MacBook Pro (probably 13" non-Retina, because I like repairing things I own).

But the upshot here is that I want to document what it would take to install all my tools to a fresh new MacBook Pro. I'll update this when I actually get the machine and do the process.

My current machines are stuck at 10.7.5 for various and sundry reasons, so some of this stuff might not be needed when I get Mavericks.

So here's the list, roughly in installation order:

Chrome

Need those inspection tools.

XCode

I really only need the GNU-flavored build tools, but Apple makes you get the whole thing, and then if you want them from the command line, you have to tell XCode to make that happen.

Fink

I use fink to manage unix-y packages on my Mac. There's also MacPorts and Homebrew, but I started with Fink many years ago, and that's how the decision gets made.

Command line tools: wget, git

Yes, I'm an evil hacker because I know how to use wget.

Anyway. fink install wget git makes me happy, as does fink update-all every now and then, to keep my wget and git happy.

MAMP

MAMP is an *AMP stack as an application. You run it, and it gives you all the stuff, and then you quit it, and the stuff goes away. It also lets you switch PHP versions pretty easily, and comes bundled with phpMyAdmin (which I never use, but it's nice).

That's good because I frequently need to change PHP versions, and it's super easy to firewall the special ports MAMP gives you.

Also, along with this comes an edit to my .profile file, adding MAMP's PHP binary path to my shell path.

Composer and Drush

Here's a writeup on how I install Composer, and use it to install Drush: http://mile23.com/content/some-composer-drush-tricks

For those not coming from a Drupal orientation, Drush is a command-line utility for managing Drupal sites.

Sequel Pro

Very handy MySQL graphical front-end. It's free. And it has a stack of pancakes as the icon. So yay.

Coda

I bought this years ago, and still use it a bunch. It's not my primary IDE (mostly because it's not really an IDE). It handles SFTP tasks very well, and syntax coloring for weird scripting languages.

NetBeans

NetBeans, the behemoth, the giant crazy non-Mac app, the affront to all that is Mac-ness, why must you be so useful and free?

I get the HTML+PHP version. I must add the following plugin:

PHPCSMD

This plugin lets you specify some PHP code analysis tools for use in the IDE. NetBeans has this natively, in the PHP Static Analysis plugin, but this external one allows you to specify coding standards installed in a lazy way. And we're lazy programmers, right?

NetBeansDrupalComposed

I'm such a lazy programmer I made this thing. It uses Composer to manage dependencies for the above-mentioned PHPCSMD plugin.

Dreditor

Dreditor is a browser extension that makes it easier to do project management on drupal.org.

There's an obvious question here. So obvious I won't ask it. But the answer is: You just need this if you're dealing with code reviews and project management on drupal.org.

Etc.?

I'm sure more will come to mind.