Rapid Web Development (For Libraries!) With Symfony 2: Justin Clark
Rapid Web Development (For Libraries!) With Symfony 2: Justin Clark
Rapid Web Development (For Libraries!) With Symfony 2: Justin Clark
1. What is it?
2. Why use it?
3. How's it designed?
4. What's it do?
5. What else does it do?
What is Symfony 2?
http://symfony.com
Technical:
• Includes good ORM (and ODM, but I haven't used it)
• Includes very good templating language (safe and expressive)
• Includes good asset manager (auto combining, filtering [closure,
pngcrush, etc.])
• Includes very good debugging tools (web debug toolbar, linked
exceptions, stack traces)
• Includes very good caching (includes reverse-proxy, speaks ESI)
• Includes good security tools (basic auth through X.509, ACLs)
• Includes very good testing tools (PHPUnit and functional testing)
• Includes very good generators (models, views, controllers, forms,
tests, bundles)
• Includes handy autoloading (namespaces)
Not so awesome things
• Learning curve
• API Docs are complete but so-so
• Few advanced docs
• Few advanced best-practices docs
• It's still PHP
Architecture
Request-Response Model
• Doctrine2
• Twig
• Debugging
Doctrine2
Twig
Debugging
http://dev5.berkmancenter.org/app.php
What I didn't talk about
• Console Tasks
• Session-handling
• Form validation
• Model constraints
• Routing
• User Bundle (and symfony2bundles.org)
• YML, XML, Annotation options
• Emailing
• Environments
• Logging
• i18n
• Git integration
• etc.
Takeaways