I’ve been using Fusebox for well over 6 years now. Its the only framework I have have ever used when developing applications for clients or myself. Its served its purpose well and has always seemed to fit my needs. However, lately I have been running into some things that are frustrating me about it. Mostly when it comes to working with other frameworks for CFC’s and throwing in an ORM here and there.
I have been working on an application over the last month or two that I wrote in FB5 and ColdSpring. At first it was fine. Mostly due to the custom lexicons written by Nathan Strutz to instantiate ColdSpring and get beans from the factory right in the XML control file. Then after seeing Mark Mandels Breezo on the Transfer ORM, I decided I wanted to give it a whirl and throw it into the mix. Now this is where things started to get interesting (read aggravating).In all of my applications, I make every effort to call any objects that Im going to need in that fuseaction from the controller and avoid calling any of them from the actual display files. Why use MVC if you are going to call objects right in the display file? Well, I started having issues calling some of Transfers methods in the XML syntax of the controller. Mixing of double quotes and single quotes within the call which is already double quoted just wreaks!!
This would be made much simpler ofcourse with some custom lexicons to call the transfer objects. But I feel like maybe the framework should be able to handle this already. Or if the actual controllers were written using CFML in CFC’s similar to Model-Glue, that would be even better. With all of the great advances that Fusebox has made, the one thing I like about the old version 2 and 3 releases of Fusebox was that the controllers were written in CFML. Granted they were just big switch/case statements but at least in the controller you had the ability to wire things together with code.
I know there was a little uprising lately in the community about the use of XML vs. CFML in control files and I tried to stay neutral on the topic since I didnt really have any experience with other frameworks. But the more I play around with Model-Glue, thats the one thing that is really driving me toward that camp and away from using Fusebox.
I wish there was a combination of the two. Or just a Fusebox that used CFC’s for the controller files instead of the XML based circuit.xml files. At least for the main application controllers anyways, for the view controllers an XML based controller is fine since they serve no purpose but to include the relevant view files and require no logic to perform that function.