Well, you’d all be lying if you said you didn’t see it coming. I gnaw your ear off in my last post about Doctrine, and how necessary Object-Oriented Design is in web application development, and how I haven’t found that “perfect framework” for me yet. Well, Symfony is definitely on it’s way to being my new framework of choice.
The reasons are obvious:
- MVC Architecture
- Doctrine Powered
- Intuitive and Powerful
- Awesome Documentation and Community Support
Now, I’d be lying if I said that there wasn’t a learning curve. For those of you already cool with MVC systems, then you’re only real task is learning how Symfony divides projects into applications and applications into modules, then it’s just a matter of picking up helpers and useful configurations, and your off. For those who are new to MVC architectures, I would strongly suggest reading up on it first. This is not so much necessary for Symfony, but a good idea in general.
I remember hearing about Rails, and how awesome it is because it’s very powerful and it utilizes cutting edge, sophisticated patterns and systems. While this is wonderful, if you aren’t keen to these things (MVC, Active Record, Database Abstraction Layers, and for PHPers… Ruby), then you are going to get hit with a lot and probably wind up saying “Rails is too confusing”, like I did. But then, with about a good year’s worth of studying in Computer Science and Software Engineer (if only cool Frank could hear me now), I’ve learned of such technologies independently, became comfortable with the concepts, and even implemented these assets in my own projects.
That is the whole point of a framework, after all: to speed up your development. Symfony is doing that for me in a big way, but thanks in part to my past years of software engineering research. I say it all the time, “Programming is organic, regurgitating isn’t”. I found a great framework that works for me, but who knows, maybe it will work for you too.
I’d like to thank gnat42 from #doctrine, you we’re right as always … and you’re allowed to speak now.