Symfony2 introduced a lot a new features,
let’s discover some of them:
• Dependency Injection Container
• The form framework
• Doctrine2 integration
Dependency Injection Container
• Dependency Injection Container
–a way to organize dependencies
–Define services
services:
zend.translator:
class: User
arguments: [@user.storage]
user.storage:
class: SessionStorage
• How to use it in a Symfony2 project ?
• Create your own service
–Symfony2 offer a simple and effective way to create
services
–It’s called an extension
–An extension can receive some configuration parameter
from the application config.yml file (i.e. databases
connections, passwords, etc.)
• Create your own service
–Define your services:
# src/Bundle/TwitterBundle/Resources/config/user.yml
parameters:
twitter.username: ~
twitter.password: ~
services:
twitter:
class: Twitter
arguments: [%twitter.username%, %twitter.password%]
• Create the extension class
# src/Bundle/TwitterBundle/DependencyInjectionContainer/TwitterExtension.php
• Load your service
# src/Bundle/TwitterBundle/DependencyInjectionContainer/TwitterExtension.php
• Enable the extension
–Add these lines in the application config.yml file:
# hello/config/config.yml
twitter.twitter:
username: noelguilbert
password: mysecretpassword
• That’s all, the service is now available:
The Form Framework
• A brand new piece of code
• A layer on top of the domain models
• Allows you to easily create HTML forms