In order to better understand what a framework is, let’s leave the world of computer science for a moment and imagine a mountaineering adventure. Developing an application is very similar to climbing a rock wall: you are at the bottom (you have an application to be created) and you need to reach the summit (and be pleased with the achievement of designing an application that works perfectly.)
If no one has ever climbed the wall in question, you will have to get by on your own: testing routes, occasionally backtracking so that you don’t get stuck in a corner, driving in pitons, etc. In contrast, if the wall has already been conquered, those who have gone before you will already have done this trial and error work, opening up possible paths (the frame) and installing the tools that will facilitate the climb (your work).
Basically, a framework consists of:
- A toolbox - a set of prefabricated, rapidly integratable software components. This means that you will have to write less code, with less risk of error. This also means greater productivity and the ability to devote more time to doing those things which provide greater added value, such as managing guiding principles, side effects, etc.
- A methodology – an “assembly diagram” for applications. A structured approach may seem constraining at first. But in reality it allows developers to work both efficiently and effectively on the most complex aspects of a task, and the use of Best Practices guarantees the stability, maintainability and upgradeability of the applications you develop.
And although it might be obvious, we thought it best to say it anyway – Symfony is a PHP framework, which means that it permits web applications to be built in PHP!
What could be more useful than an application developed by users for their own needs? This is the story of the genesis of Symfony – born from the imagination of the web designers at SensioLabs, a web developer in its own right. Symfony was made available to everyone under an Open Source license. This benefits other developers, who also have the ability to improve it by adding their own modules. All this was done in an environment of Best Practices, standardization and interoperability of applications.
And behind Symfony, there are people. A huge and diverse community of developers all around the world.
- Symfony is a PHP framework.
- Symfony is a framework, a set of tools and a development methodology.
- Beyond the tools, Symfony is also a Philosophy and a Community.