PHP

Phoobox – An MVC Version of PHP Fusebox

Pretty early in my professional programming career, I got hooked on the Lasso/FM stack, which most people probably never heard of… and for this reason I was able to get the Lasso code introduced to the 99 Bottles of Beer website – “One Program in 1,500 variations”. My other contribution at that time was to figure out the right combination of Lasso 3.6.x and FMPro Japanese to produce workable double-byte characters. This was all before the year 2000.

I graduated to ColdFusion and used that for several years. This wasn’t all pain and misery, I did get introduced to the inner workings of the JVM and to the Fusebox 3.0. framework. In its purest form, it was a great way to organize code, but really did not help separate logic from display and things like MVC were off in the distance in Fusebox 4.0+. Debugging was a huge pain as all routes went through a single file so all errors were invariably in the index.cfm file. Grr. When 4.0 came along, the bloat caused me to abandon the framework and I discovered the power of MVC in Mach-II.

I graduated to PHP and saw the near limitless number of frameworks and was lost in a sea of mediocrity. The current state of affairs is much better than it was in 2004. I saw this as an opportunity to port the Fusebox framework to PHP and deal with a lot of the shortcomings I felt needed fixing… and that brings us to Phoobox.

I basically cherry picked the parts of Fusebox I loved (routing, nested layouts, circuit-wide settings) and added object oriented PHP to the mix, giving the framework the true power of MVC. It allowed me to amass a huge library of classes that I could pick and choose for each project and in the parlance of red bull, gave me wings. I’m happy to finally share this framework with the world, but am doing this piecemeal. I want to eventually share my entire class library, but the code must be reviewed and embarrassing comments removed. I will also share some of the advanced capabilities of the framework, such as form rendering and validation; css/javascript tidy, minify, and obfuscation; and templating plugins.

Check out the README.md for more info on Phoobox.

4 thoughts on “Phoobox – An MVC Version of PHP Fusebox”

  1. I never could get into Mach-II, Model-Glue or Fusebox 4. I made quite a few apps with Fusebox 3, but always felt like they were shoe-horning OO into CF with the other frameworks. I've quit using CF around 2006 and have been pretty much all ruby since.

    1. Yes, it was the shoehorning and the lack of real separation of logic and display that gave me the creeps. I did the best I could to make the PHP version entirely object oriented. I tried Ruby in the early days of Rails and found it too rigid in its convention over configuration. This has changed dramatically over the years, so I ended up really liking the flexibility/power the framework has to offer and the conciseness of the language.

  2. Any more progress on the updated files?
    I'm a fuseboxer from way back and am looking to phoobox to ease my transition back into coding but with php.
    Thanx for the memories 🙂

    1. I have added a few things today and will continue to update the project as I can. I have found that fusebox with php is a great combo for a micro framework. Let me know if you have any questions.

Leave a Reply to @mcmoyer Cancel reply

Your email address will not be published. Required fields are marked *