views:

35

answers:

3

When I first started programming with PHP, I was ignorant of other php frameworks (like code igniter, cake php, etc...). So I fell into the trap of re-inventing wheels, which had the benefit of being "fun" and "educational".

Overtime, I discovered other open source products that I found useful, like smarty templating engine, jquery library, tcpdf library, fdf etc...so I started bundling these technologies along with things I've built over the years into a LAMP development framework to make life easier for myself.

This past year, I've been having fun developing on the code igniter framework. It does many of the things I do in my framework. Coding in CI feels natural because the MVC and ORM feels similar to the MVC and ORM of my framework. So now I'm contemplating migrating a lot of the plugins in my framework over to CI. The pros and cons I can think of for such a project are:

Pros:

  • benefit from the vast community of CI developers

  • lots of other developers will be familiar with it

  • better documentation

Cons:

  • I've built a lot of useful plugins against my own framework, and it will take a lot of time to move even just the essential ones

  • at the moment, I still, work faster against my own framework than CI, just because I'm more familiar with it

  • even if I did migrate to CI, there will always be newer and better frameworks in the near future, and I'll be contemplating this scenario again

So my question is the following: perhaps I should leave my old framework as is, and for each new project I receive, I make a decision on whether the requirements are best served by developing with CI or my own framework. Is this the right approach?

+2  A: 

I should leave my old framework as is, and for each new project I receive, I make a decision on whether the requirements are best served by developing with CI or my own framework. Is this the right approach?

This is most logical and what i would do. Not every project has to be the same - though its good define your primary stack. I myself use Symfony or Zend depending on the requirements, but i would never go all out on one for everything. There are also projects that dont require a framework at all because they are just too simple and a framework has a negative impact in terms of performance given the functional requirements one needs to fulfill.

prodigitalson
A: 

The pro's in this case would in my mind outweigh the cons.

CodeIgniter (or any open source framework for that matter)

  • Is being continuously developed
  • Has lots of other people making plugin's and additions
  • Typically more flexibility
  • Faster
  • Less bugs
  • Increased productivity
  • Ready to go packaging

This isn't taking into account whatever it is you designed on your own. If you feel that your framework is better tailored to the projects you are working on then run with that.

Josh K
A: 

You're in a great position to properly appreciate the value of something like CodeIgniter, having written elements that overlap with it. By all means, look at the options, plugin by plugin, and make your choices, but you're likely to find that switching is better in most if not all cases. You may want to consider an adapter framework to shoehorn your own plugins into CodeIgniter's form without needing to do the manual work for each, but I imagine this would be only an interim solution.

Carl Manaster