Dags PHP Frameworks

Having worked with PHP for the past 7 years, I have come across a multitude of frameworks and tools with php at its core. From Symfony to Yii to CakePHP and beyond, each holds its own merits and potential disadvantages depending on your application or website’s needs. While I do not consider myself an expert in any of the above mentioned frameworks, I have utilized them all in building small applications, mostly to give them a test run. My experience in this industry has taught me an invaluable lesson that you should always do your research about existing technologies before sitting down to write your own from scratch. As technology evolves, things constantly change, and options are continually expanding. More often than not, you can find a tool that exists, many times open source and free to use, that will more than meet your project’s needs.

While re-inventing the wheel is clearly not something that we strive to do, there are cases where creating your own custom piece of technology can outweigh the benefits of using something that someone else already has done. For me, it is in these core frameworks that I struggle to settle. By no means do I find the existing solutions to be inadequate; however, I find that there are a few factors that make a custom designed framework the best choice for a company or developer that wants to have a solid core to build complex applications. The first factor is the time it takes to become an “expert” in an existing framework. While this can vary greatly from one person to the next, I have found that I can code a working custom framework with comparable features in less time than it would take me to learn all the ins and outs of an existing solution. While my custom code might not be as evolved or feature full as existing solutions, it is the foundation that is the toughest part – once you get the core written, evolution comes naturally. And, if the framework is your own, customization can be much simpler than if you are working with someone else’s code. A second factor that one must weigh in deciding on using an existing framework versus creating your own is the lifespan of any code base. If you choose framework XYZ, will it be actively maintained 1 year from now? Lastly, and possibly most importantly, one must decide on your long term project goals. Having your own custom framework might add extra time and resources to develop, maintain and enhance this base. If you are building a simple website or application, then it probably makes sense to use one of the great choices mentioned above. On the other hand, if you are starting a business that might grow to have numerous applications, technologies and products that all stand on top of your core framework, it might be the best decision you can make to create something from scratch. What do you think?

Posted on Jul 03, 2011

comments powered by Disqus