Here with my finding after thoroughly playing with demo
applications in local with different versions. Framework versions really
playing crucial part in decision making.
- Both codeigniter2.x and symfony2.x are evaluate and rewritten without backward compatibility. Last stable or most used version are codeigniter 1.7 and symfony 1.4, but support for these version would be stopped by end of this year. Any version with these frameworks need more or less same learning curve. And hence we might be going with latest stable versions(2.x)
- Symfony2.x in-fact, learnt and followed good parts of codeigniter1.7;
- With older version; codeiginitor1.7 is clean winner.
- Both framework uses page caching mechanism in production environment. In production, server restarts might require with release.
Codeigniter 2.x:
- Easy learn and quick to follow code;
- might get complex if code grows(manageable with proper design )
- No built in support for layout;
- it’s fine with simple menu; for Complex menu; tough to abstract menu related logic from every business page.
- By default, no UI template engine. Uses plain PHP for rendering.
symfony2.x
- Layout support, every part has its own independent controller.
- By default, views based on templates; pure PHP can also be used as in codeigniter.
Conclusion:
Symfony2.x is insist and follows
best coding standards, Seems to be bit more initial learning curve(infact
positive). We can jump directly into business logic development as almost all
in place.
Codeigniter2.x – easy to learn;
works well with something quick and small. For complex project, we might end up with developing wrappers/front controllers for view and backend(costly).