What is a web framework?
A web development framework is a collection of libraries and classes based on a design that makes them reusable to support the development of websites, web applications and web services.
Why use a framework?
Advantages of using a framework: code reusability, eliminating repetitive tasks, easier to work with complex technologies, code consistency, easier to debug code, easier for teams to work on the same codebase, programmers and designers can focus more on requirements than coding low level stuff.
How to select a framework?
Framework selection is based on the web project requirements, framework design pattern, hosting requirements, ease of installation, learning curve and documentation, database abstraction, plugins and libraries, scalability and framework support from the creators and community.
Php Frameworks comparison:
Most popular php frameworks:
good: easy to learn, very popular, great community support, php4 compatibility
bad: fairly strict, not very flexible
good: great for enterprise level applications, highly modular, great scalability, multiple configuration options, great documentation and h3 community
bad: very complex, overhead for small projects
good: very easy to learn, flexible, good support and great documentation
bad: suitable for small to medium web applications, some performance drop for large numbers
good: for enterprise level applications, easy to configure, lots of features, good documentation and support
bad: uses command line generators for project setups and automatic code generation which is not that common for developers
good: very easy to use being a CodeIgniter branch off, you can accomplish more with less code
bad: small community, lack of documentation, requires php 5.3, not so good with backward compatibility
good: highly modular, great performance, easy to extend for other libraries
bad: lots of command line generators