Photography by jOE dEVINE

Building LAMP Websites With Mac OS X – One In A Series

I recently shifted my entire development environment for my personal / family business websites to the Mac.  In case you can’t tell, I am a Mac convert.

It took a little digging to figure out how to do all the things that I needed to get everything working.  It’s all out there, but I figured I’d write up a short tutorial on how to do it all.   If nothing else, I can refer to it the next time I need to set all this up.

Here are the main steps to get MAMP (Mac OS X LAMP) setup and running on your Mac.  I will elaborate on each in a subsequent post.

  1. Download and install the MAMP environment – don’t get cute with it, install it in the Applications folder like it says.
  2. Edit your /Applications/MAMP/conf/httpd.conf file to add your virtual hosts, so you can develop multiple sites on your computer.
  3. Edit your /etc/hosts file to define your virtual hosts as well.
  4. Install any PEAR modules you may need.
  5. Change MAMP to use the default ports (I highly recommend this).
  6. Install any MySQL client tools you need to do your development work.

That’s it!  My subsequent posts will explain the details behind each step.

December 1, 2008   No Comments

Making Beautiful Music With symfony

Like many folks with a software background, I’ve developed a few frameworks in my day.  My most recent framework, which I developed for LAMP sites, was the basis for Motosport’s current platform and several of eBags’ marketing websites (though not the main site).  Called iSkins, it was lean, mean and effective.  And I could whip up a marketing site in a day and a commerce site in a few days using it.

But like any other person whose day job is NOT developing frameworks, who has a small child at home and a lake house to take care of on the weekends, it was time to look elsewhere when asked to evaluate frameworks for a new in-house application we are developing here at Enexity.

Enter symfony!  Wow, what a great platform.  Every time I look for a feature that I had in iSkins, it’s there.  But it’s usually better thought out, more extensible, has a way better OO model and generally kicks the crud out of what I developed.

Symfony (from their website) is:

“…a full-stack framework, a library of cohesive classes written in PHP5.

It provides an architecture, components and tools for developers to build complex web applications faster. Choosing symfony allows you to release your applications earlier, host and scale them without problem, and maintain them over time with no surprise…”

 Some of the advantages of symfony, as I see them, include:

  • good object model
  • MVC separation
  • caching
  • scaffolding
  • Ajax
  • ORM
  • database abstraction
  • a solid plugin architecture
  • localization and internationalization
  • the admin generator (WOW)
  • the routing system
  • form development and validation
  • debugging

That’s a lot of strengths!

The one big weakness I see is the learning curve – the online symfony book is great, and there are lots of good tutorials floating around, but it’s still one heck of a big framework.

I intend, time willing, to someday write about how I came up to speed on the framework.  Instead of diving in to ORM and CRUD like many of the tutorials want you to do, I started with the site layout so I could understand the DNRY possibilities in the view layer.  In this manner, I was able to really learn about all the parts of the architecture without worry about some of the more esoteric matters – and, when I finally started doing “real” work with it, it looked nice right out of the gate.

Although the project we’re working on won’t be publicly available anytime soon, when I find time I just might upgrade devineville.com, parkeranne.com and a few other sites to symfony.

August 28, 2008   No Comments