Today PHP have many robust frameworks starting from CakePHP, CodeIgniter, Zend Framework, eZComponents, Symfony and there many others that deserve your attention such Akelos, Agavi, Fuse … etc; without talking about using solutions as framework such Joomla, Drupal or others.
The question is: do we really need a framework in our PHP projects?
I’m asking this question because many people asked me about the PHP framework that I use in my own projects, which one I use, and which framework is better, and if I have my own framework …?
My answer shortly: it depends on the project itself.
That’s true; I don’t use personally any of the frameworks available in anyone of my own projects. That doesn’t mean that none of them is suitable, I supported for example the choice of Symfony in a website project, even if I’m not really part of the dev of that project in question. Lots of frameworks are really amazing and don’t need my opinion on that!
It’s not also a personal choice, but anytime I need to develop a solution I need to have full control on all code. So I write almost everything from scratch, and that’s not a waste of time, if you think about the time you will need to learn a new framework code, and how to make your application fast and secure.
Using a framework in your project meant to have an additional layer in your application, and it’s a layer that you don’t control even if maintained by great communities. That could include bugs, features and libraries that you will never use or worry about. This will never matter if you are running medium website with average traffic. But once you want to scale your application to use minimum memory usage and minimum hardware requirements and support highest number of users, just show me one case study that uses any framework, you won’t find any.
Framework or not framework? If the framework you decide to use can save your time and money, go ahead, take your time to learn it well and use it safely. If you are building a killer-website, I bet a framework is the last thing that you will look for.