Symfony is available since 4 months and most of PHP developers around me are jumping in. My time has come with a new major project…
I’m not “coming from Symfony 1”, I’m leaving it.
I talked on twitter with some developers and we shared the same opinion : we started to hate symfony 1 for the same reasons we loved it at the first time : the magic of RAD.
Symfony 1 was a fullstack MVC RAD PHP framework.
Symfony 2 is a professional SoC PHP framework.
Basically, we trade some keywords for one : freedom or maybe chaos ?
People complain a lot about the lack of structure or conventions. The main reason is a business concern : interoperability. Developers were used to follow rules and accept many constraints rather than going freestyle because it was just easy to switch between projects and/or team.
But what if the rules appear outdated ? What if the constraints is just bad for your needs ? We start to adapt our business to our fantastic tool and we smell that something is wrong. That’s the exact feeling I had when I started to mastered symfony 1.
Symfony 2 is a philosophy relying on the developer brain. You can’t passively use the framework, you have to understand some concepts.
I loved symfony 1 and I think I’m very good for hacking the admin generator and some obscur parts of the tool. But what’s the point today ? Nothing. In contrast, learning Symfony 2 means just improving engineering software skill, not focus effort to learn a specific tool. That’s probably the best point.
So the lazy developer could be really stuck with this new tool because it ask you to be proactive. In the Sensio path, the evolution seems logic : the first tool introduced many best practices, the second version is going beyond.
Despite the fact that the tool was bringing lot of frustration, I always supported the Symfony ideology : constantly improve, respect standard and use best practices. Even if the new version is young or uncomplete, I’m still learning thanks/through it : with the community, open source bundle, documentation etc.
Finally in few words, to me symfony 1 was more an “answer” and now Symfony 2 is “new questions”.
Fabien Potencier wrote an article answering about “What is Symfony”.
On this blog you will also find about the “How I work with it”.