Wednesday, September 12th, 2007

Our New PHP 5 Framework Cubix developed to 2.1

Exciting news! Cubix Goes 2.1!

For those who may have missed it, Cubix is the name we gave our home grown framework (don’t sweat it haters, it’s not open source and I won’t be putting it up for public consumption, keep those eyeballs “unrolled”).

Cubix was basically created last year after exploring Zend (which was at the time at a very early preview release), Cake (a little rigid and some scalability issues, also looked like it was ready to bloat), Code Igniter (the focus on a small foot print would have hindered scaling an app) and Symfony (there’s a “how to use symfony” book. I did not really want to spend a few months learning Symfony).

None of the existing frameworks seemed to be friendly enough for modification and so I decided instead of going through and trying to learn the ins and outs of certain frameworks, the team and I will make one ourselves. This will also provide some introduction to OOP for the other two I had just stepped into my new role with.

Well, there’s THAT plus I have an accute case of NIH syndrome. Can’t fault me there tho’ I use phpmailer for my email module so I’m not over the top with it.

Now that that intro is out of the way - Back to Cubix 2.1

It could be just the narcissistic perfectionist in me, but I decided to pretty much scrap most of Cubix 1 after seeing the abysmal collapse of separation. All through Techjobs (which is still waiting for marketing by the way), we had to endure this clumsy system of chained commands - which seemed like a great idea at the time. We had lots of dependencies and a butt load indirection that did not need to be there.

So the first chance I get, I dismantled Cubix and dug around in the library for spare parts. The few classes that survived, I refactored into fine specialists, I added a Dependency Injector, added a couple of Specialised Locators and a whole new architecture and implemented a Zend Framework inspired approach to namespace workaround.

At the end of it all, I sat back in my armchair and looked over the shiny new framework Cubix 2.0. There were a few lingering issues however, the View Layer seemed incomplete, it was the first time I had implemented View and View Helper and tried to push them hard, without going into too much detail, I can say that some bad mistakes were made because I had misunderstood some issues with the scope of how it all fit together.

Then came the first REAL revision which put the icing on the cake - Cubix 2.0 now had a nicely structured View Layer and I guess that’s the anti-climactic end of that chapter - Cubix 2.1 had a minor revision of the View Layer. :)

To conclude, I just thought I’d share this as it has been a while in the making, the Cubix Framework is proving to be what I’ve always wanted it to be. A framework which oozes separation and boasts encapsulation. I finally understand the concepts I had been working so hard to digest for quite some time now. Granted it’s somewhat anti-climactic, but it brings forth a great sense of achievement for me.

» Filed under General by rvdavid at 23:08.

back to top

2 comments
to Our New PHP 5 Framework Cubix developed to 2.1

  1. Dr Livingston

    on Thursday, November 1st, 2007 at 3:06 am:

    well done :)

    shame it’s not open source, but my framework isn’t either so mustn’t grumble eh?!

  2. on Saturday, November 3rd, 2007 at 12:46 am:

    Thanks Dr L,

    I might ask you some time about your favourite pattern - the Composite View - some time soon :P

Subscribe to comments or TrackBack to Our New PHP 5 Framework Cubix developed to 2.1

Leave a comment





Credits:

© rvdavid blogs: Web Development | Powered by WP 2.3.1

Tree theme modified based on headsetoptions