Lets play with Symfony2

download Lets play with Symfony2

of 23

  • date post

  • Category


  • view

  • download


Embed Size (px)

Transcript of Lets play with Symfony2

  • 1.Lets play with Symfony2 Nol GUILBERT

2. Symfony2 introduced a lot a new features,lets discover some of them: Dependency Injection Container The form framework Doctrine2 integration 3. Dependency Injection Container Dependency Injection Container a way to organize dependencies Define servicesservices: zend.translator:class: Userarguments: [@user.storage] user.storage: class: SessionStorage 4. How to use it in a Symfony2 project ? 5. Create your own service Symfony2 offer a simple and effective way to createservicesIts called an extensionAn extension can receive some configuration parameterfrom the application config.yml file (i.e. databasesconnections, passwords, etc.) 6. Create your own service Define your services:# src/Bundle/TwitterBundle/Resources/config/user.ymlparameters:twitter.username: ~twitter.password: ~ services: twitter:class: Twitterarguments: [%twitter.username%, %twitter.password%] 7. Create the extension class # src/Bundle/TwitterBundle/DependencyInjectionContainer/TwitterExtension.php 8. Load your service# src/Bundle/TwitterBundle/DependencyInjectionContainer/TwitterExtension.php 9. Enable the extension Add these lines in the application config.yml file: # hello/config/config.ymltwitter.twitter: username: noelguilbert password: mysecretpassword 10. Thats all, the service is now available: 11. The Form Framework A brand new piece of code A layer on top of the domain models Allows you to easily create HTML forms 12. Your first form 13. Write a simple Request class 14. Lets add some validators 15. And you are ready to use it! 16. Doctrine 2 integration Fully integrated: DBAL ORM MongoDb mapper Migrations 17. DBAL: configure your database connection 18. DBAL command lines Create configured database $ php console doctrine:database:create Drop configured database $ php console doctrine:database:drop Query the database $ php console doctrine:sql:query SELECT * FROM User 19. ORM: persisting and retrieving entities An Entity is a regular PHP class that has been mapped to Doctrine 2 20. ORM: Defining entities Entities can be mapped with: Regular PHP class XML Definition schemas YML Definition schemas 21. ORM: command lines Convert Doctrine1 schemas to Doctrine 2:$ php console doctrine:mapping:convert-d1-schema Generate entities:$ php console doctrine:generate:entities Create or update the database schema$ php console doctrine:schema:create$ php console doctrine:schema:update Load fixtures$ php console doctrine:schema:update 22. Whats next ? 23. Questions?Nol GUILBERT noel.guilbert@sensio.com Sensio S.A. 92-98, boulevard Victor Hugo 92 115 Clichy Cedex FRANCETl. : +33 1 40 99 80 80www.sensiolabs.com - www.symfony-project.org - www.noelguilbert.com