PHP is an application development platform. It provides services for interacting with databases, handling emails etc. Because of its flexibility and strength, it is not that difficult to start coding application.
What is framework?
Coding in core PHP can work but you can end up with untidy code. Long lines of code that have multiple unwanted interactions and typically they HTML code within them. It is simple to write code in core PHP that is to have multiple files to do the same thing. When you want to update something then you are going to end up having to change multiple files for things to work correctly. Without any form of organization it is easy to have files here and there but you will never know how your application is organized. In this way, it can be difficult to reuse the code. If you make changes in one part of code, there is always possibility that you will break another thing somewhere else. Everything need to be tested again and again every time you make any change.
Frameworks can help here. More than anything, they provide a platform for creating clean and organized code. When your code is organized, it is easy to test each individual piece of code against test cases. Also its’ east to make changes. Changing a small php function will update functionality throughout application. In most of frameworks, many pre-built and pre-tested tools included.
Ultimately, frameworks lead to better organization of code, which in most cases can make or application development experience less painful.
Should I always use framework?
You don’t necessarily need to. For smaller applications, breaking up code can end up meaning lot of steps even for minor functionality.
MVC – MODEL / VIEW / CONTROLLER
At the core of every framework is the concept of patterns or architectural patterns. Patterns are simply abstract ways to organize your programming. MVC is one of the most basic pattern that id user by every framework.
MVC stands for Model / View / Controller. This pattern is all about breaking down application into 3 parts:
Model – Data Layer
View – User Interface layer
Controller – Interacts with Model
At view layer, there will be user interface. Typically this is going to result in HTML or HTML 5.
If necessary, the controller will update the model. It will notify the model of the changes and this can then update it. In our shopping cart example, the controller would essentially add an item to a shopping cart data in the session.
The model layer will handle the data, the view layer is going to generate the user interface, and the controller is going to handle the interactions.
There are many popular frameworks like ZEND, SYMFONY, CODEIGNITER, CakePHP.
Elements need to be considered before deciding which framework to use:
-’Weight’ of framework