SlideShare une entreprise Scribd logo
1  sur  84
Télécharger pour lire hors ligne
Introduction to




                                              by Pablo Godel
                              Jan 11 2012 - South Florida PHP Users Group
Wednesday, January 11, 2012
Who Am I?
⁃   Born in Argentina, living in the US since 1999
⁃   PHP & Symfony developer
⁃   Founder of the PHP mailing list in spanish
⁃   Cofounder of ServerGrove Networks
     ⁃ Founded in 2005
     ⁃ provider of web hosting specialized in PHP, Symfony,
       ZendFramework among others
     ⁃ Very active open source supporter through code
       contributions and usergroups/conference sponsoring




Wednesday, January 11, 2012
Wednesday, January 11, 2012
History of Symfony




Wednesday, January 11, 2012
Releases



  - symfony 1.0:              January 2007
  - symfony 1.2:              November 2008
  - symfony 1.4:              November 2009

  - Symfony 2.0:              July 2011
  - Symfony 2.1:              Planned for early 2012




Wednesday, January 11, 2012
symfony 1.0
                                 released on January 2007



                          “symfony is a full-stack framework, a library
                              of cohesive classes written in PHP”




  - Several libraries put together (modified Mojavi, Propel, Prado
  i18n, etc)
  - Concepts borrowed from several languages and frameworks
     - Routing, CLI, functional tests,YAML, helpers
  - One of first PHP frameworks to include a Web Debug Toolbar,
  and an Admin Generator.

Wednesday, January 11, 2012
symfony 1.0
                                     Highlights


                     - ORM integration: Propel and Doctrine
                     - YAML cascading configuration
                     - Web Debug Toolbar
                     - Admin Generator
                     - Environments
                     - CLI
                     - Functional Tests
                     - Template Caching
                     - Internationalization
                     - Documentation
                     - Plugins
                     - Awesome Community

Wednesday, January 11, 2012
symfony 1.0
                              Highlights - Web Debug Toolbar




Wednesday, January 11, 2012
symfony 1.0
                              Highlights - Admin Generator




Wednesday, January 11, 2012
symfony 1.0
                              Highlights - Command Line Interface




Wednesday, January 11, 2012
symfony 1.0
                              Highlights - Documentation




                              - A Gentle Introduction to symfony
                              - Practical symfony (jobeet tutorial)
                              - The symfony Reference Book
                              - More with symfony
                              - The API documentation




                                  http://www.symfony-project.org/doc/1_4/
Wednesday, January 11, 2012
symfony 1.0
                              Highlights - Awesome Community

IRC #symfony & #symfony-devs

Google Groups
 symfony-users http://groups.google.com/group/symfony-users
 symfony-devs http://groups.google.com/group/symfony-devs
 symfony-es http://groups.google.com/group/symfony-es

Wiki http://trac.symfony-project.org/wiki/

Forums http://forum.symfony-project.org/

Lots of Blogs

Conferences around the world: US, France, Germany,
Spain
Wednesday, January 11, 2012
symfony 1.0
                              Highlights - Plugins




Wednesday, January 11, 2012
symfony 1 vs. Symfony 2




                                 Same philosophy

                               Rewritten from scratch




Wednesday, January 11, 2012
symfony 1 vs. Symfony 2




                              symfony 1 != Symfony2




Wednesday, January 11, 2012
symfony 1 vs. Symfony 2




                              If you used symfony 1.x

                               better forget about it.




Wednesday, January 11, 2012
Symfony 2



    “First, Symfony2 is a reusable set of standalone, decoupled,
      and cohesive PHP components that solve common web
                       development problems.
          Then, based on these components, Symfony2 is also a
                       full-stack web framework.”




                              http://fabien.potencier.org/article/49/what-is-symfony2
Wednesday, January 11, 2012
Symfony 2




                              21 High Quality
                               Components




Wednesday, January 11, 2012
Symfony 2 Components


                        •     DependencyInjection                    •   Serializer
                        •     EventDispatcher                        •   Validator
                        •     HttpFoundation                         •   Security
                        •     DomCrawler                             •   Routing
                        •     ClassLoader                            •   Console
                        •     CssSelector                            •   Process
                        •     HttpKernel                             •   Config
                        •     BrowserKit                             •   Finder
                        •     Templating                             •   Locale
                        •     Translation                            •   Yaml
                        •     Serializer                             •   Form


                                 All of them at GitHub: http://github.com/symfony
Wednesday, January 11, 2012
Symfony 2 Components


   Components Documentation
   http://symfony.com/doc/current/components/index.html



    Blog post series about creating a framework based on
    the Symfony2 Components
     http://fabien.potencier.org/




Wednesday, January 11, 2012
Symfony 2
                               Highlights


  • Rewritten from scratch for PHP 5.3
  • Based on the HTTP specification
  • Very stable and solid API (12 preview releases, 5 beta
    releases, 6 release candidates, 9 stable releases)
  • Extensible through the creation of Bundles (replacement for
    sf1 plugins)
  • Flexible configuration using YAML, XML, annotations or
    PHP
  • All configuration is compiled to PHP code and cached
  • Lots of unit tests
  • Source code audited by independent security firm thanks to
    donations of the Symfony Community

Wednesday, January 11, 2012
Symfony 2
                               Highlights



  • Extensible Configuration with Service Container/
    Dependency Injection
  • Complete redesign of Forms support
  • Validations
  • Extensible Security with Authentication/Authorization
  • Advanced and powerful templating through Twig
  • Routes configured with YAML, XML or Annotations
  • ESI Caching support out of the box
  • Assets management with Assetic
  • Translations
  • Environments


Wednesday, January 11, 2012
Symfony 2
                              Community



    •   357 developers contributed to Symfony2
    •   3000+ pull requests
    •   969 977 bundles at knpbundles.com
    •   Same very active IRC and mailing lists support channels
    •   Community Gamification through SensioLabs Connect
    •   Symfony2 Ecosystem




Wednesday, January 11, 2012
Symfony 2
                              Highlights - SensioLabs Connect




Wednesday, January 11, 2012
Symfony 2
                              Highlights - Bundles




Wednesday, January 11, 2012
Symfony 2
                              Getting Started




http://symfony.com/download




Wednesday, January 11, 2012
Symfony 2
                                 Getting Started



                   tar zxf Symfony_Standard_Vendors_2.0.9.tgz


                                        or



                      unzip Symfony_Standard_Vendors_2.0.9.zip


Wednesday, January 11, 2012
Symfony 2
                                    Getting Started




           Distributions

                     A Symfony distribution is made up of Symfony2
                          components, a selection of bundles,
                      a directory structure, a default configuration.




                                   http://symfony.com/distributions
Wednesday, January 11, 2012
Symfony 2
                               Getting Started

   Symfony Standard Distribution
      • Directory structure
      • Default configuration
      • Bundles
         ⁃ DoctrineBundle
         ⁃ JMSSecurityExtraBundle
         ⁃ SensioDistributionBundle
         ⁃ SensioFrameworkExtraBundle
         ⁃ SensioGeneratorBundle
         ⁃ AsseticBundle



                              http://symfony.com/distributions
Wednesday, January 11, 2012
Symfony 2
                              Getting Started




Wednesday, January 11, 2012
Symfony 2
                              Getting Started




Wednesday, January 11, 2012
Symfony 2
                              Directory Structure




Wednesday, January 11, 2012
Symfony 2
                              Directory Structure




Wednesday, January 11, 2012
Symfony 2
                              Directory Structure




Wednesday, January 11, 2012
Symfony 2
                              Directory Structure




Wednesday, January 11, 2012
Symfony 2
                              Configuration Files - app/config.yml




Wednesday, January 11, 2012
Symfony 2
                      Configuration Files - app/parameters.ini




Wednesday, January 11, 2012
Symfony 2
                     Configuration Files - app/config_dev.yml




Wednesday, January 11, 2012
Browser


                                   Request


                              Bootstrap (app.php)

                                  Controller

                                   Template

                                   Response
Wednesday, January 11, 2012
Bootstrap (app.php)




Wednesday, January 11, 2012
Symfony 2
                              Bootstrap File - web/app.php




Wednesday, January 11, 2012
Controllers




Wednesday, January 11, 2012
Controllers




Wednesday, January 11, 2012
Controllers




Wednesday, January 11, 2012
Controllers




Wednesday, January 11, 2012
Templates




Wednesday, January 11, 2012
Templating / Twig
  Comments:
          {# comments are not rendered #}

                              {# multi-line comments!
                                 {{ var }}
                              #}
 Output variables:
           {{ var }}
           {{ var | upper }}
           {{ var | raw }}
           {{ object.property }}
           {{ true ? ‘yes’ : ‘no’ }}
                                  http://twig.sensiolabs.org/
Wednesday, January 11, 2012
Templating / Twig

  Blocks:
       {% set var = ‘hello’ %}
       {% set foo = var ~ ’ and goodbye’ %}

                {% if foo is ‘bar’ %}
                   ...
                {% else %}
                   ...
                {% endif %}



                              http://twig.sensiolabs.org/
Wednesday, January 11, 2012
Templating / Twig

  Blocks:
       {% for key, val in list %}

                        {{ loop.index }}. {{ val }}

                {% else %}

                        No keys.

                {% endfor %}


                                http://twig.sensiolabs.org/
Wednesday, January 11, 2012
Templating / Twig
  Extends:

            {% extends "Bundle::layout.html.twig" %}

 Include:

            {% include “Bundle:Demo:template.html.twig” %}

   Render:

            {% render “Bundle:Demo:action” %}

                              http://twig.sensiolabs.org/
Wednesday, January 11, 2012
Awesome Twig Presentations

 Twig, The Flexible, Fast and Secure Template Language
 for PHP - Fabien Potencier
  http://www.slideshare.net/fabpot/twig-the-flexible-fast-and-securetemplate-
  language-for-php



  Being Dangerous with Twig - Ryan Weaver
 http://slideshare.net/weaverryan/being-dangerous-with-twig-symfony-
 live-paris



  Twig avanzado - Javier Eguiluz
   http://www.slideshare.net/javier.eguiluz/twig-avanzado-sf2vigo (Spanish)




Wednesday, January 11, 2012
Templating / Twig
                                 layout.html.twig




Wednesday, January 11, 2012
Templating / Twig
                                 index.html.twig




Wednesday, January 11, 2012
Templating / Twig
                                 index.html.twig




Wednesday, January 11, 2012
Bundles




Wednesday, January 11, 2012
Bundles




                              Everything in Symfony2 is
                                contained in Bundles




Wednesday, January 11, 2012
Bundles




                                 Even Symfony2 is
                              a collection of Bundles




Wednesday, January 11, 2012
Symfony 2
                              Directory Structure




Wednesday, January 11, 2012
Symfony 2
                   Bundles Registration - app/AppKernel.php




Wednesday, January 11, 2012
Bundles Showcase




Wednesday, January 11, 2012
Bundles Showcase




Wednesday, January 11, 2012
Bundles Showcase




Wednesday, January 11, 2012
Bundles Showcase




Wednesday, January 11, 2012
Bundles Showcase




Wednesday, January 11, 2012
Bundles Showcase




                     And many many more!




Wednesday, January 11, 2012
Forms




Wednesday, January 11, 2012
Forms
                              Definition




Wednesday, January 11, 2012
Forms
                              Presentation




Wednesday, January 11, 2012
Forms
                              Processing




Wednesday, January 11, 2012
Web Debug Toolbar
                                      &
                                   Profiler




Wednesday, January 11, 2012
Web Debug Toolbar / Profiler




Wednesday, January 11, 2012
CLI, Generator Commands
                                        Demo




Wednesday, January 11, 2012
Twig                     Silex



                               Ecosystem




                  ORM & ODM




                 Deployments
                               BDD Framework    Web Acceptance Testing

Wednesday, January 11, 2012
Who uses Symfony2?




Wednesday, January 11, 2012
Who uses Symfony2?




Wednesday, January 11, 2012
Who uses Symfony2?




Wednesday, January 11, 2012
Who uses Symfony2?




Wednesday, January 11, 2012
Who uses Symfony2?




Wednesday, January 11, 2012
Who uses Symfony2?




Wednesday, January 11, 2012
You?




Wednesday, January 11, 2012
You should :-)




Wednesday, January 11, 2012
Questions?




Wednesday, January 11, 2012
Wednesday, January 11, 2012
Thank you!


                              Slides: http://slideshare.net/pgodel

                                      Twitter: @pgodel
                                  IRC Freenode: pgodel
                              E-mail: pablo@servergrove.com



Wednesday, January 11, 2012

Contenu connexe

Tendances

Dependency management with Composer
Dependency management with ComposerDependency management with Composer
Dependency management with ComposerJason Grimes
 
PHP-MySQL Database Connectivity Using XAMPP Server
PHP-MySQL Database Connectivity Using XAMPP ServerPHP-MySQL Database Connectivity Using XAMPP Server
PHP-MySQL Database Connectivity Using XAMPP ServerRajiv Bhatia
 
Php through the eyes of a hoster: PHPNW10
Php through the eyes of a hoster: PHPNW10Php through the eyes of a hoster: PHPNW10
Php through the eyes of a hoster: PHPNW10Combell NV
 
Transcode star
Transcode starTranscode star
Transcode starunweb
 
Comparing web frameworks
Comparing web frameworksComparing web frameworks
Comparing web frameworksAditya Sengupta
 
Composer the right way - SunshinePHP
Composer the right way - SunshinePHPComposer the right way - SunshinePHP
Composer the right way - SunshinePHPRafael Dohms
 
Introduction to Groovy Monkey
Introduction to Groovy MonkeyIntroduction to Groovy Monkey
Introduction to Groovy Monkeyjervin
 
Writing php extensions in golang
Writing php extensions in golangWriting php extensions in golang
Writing php extensions in golangdo_aki
 
12 Composer #burningkeyboards
12 Composer #burningkeyboards12 Composer #burningkeyboards
12 Composer #burningkeyboardsDenis Ristic
 
Cenário atual do PHP e Introdução ao Laravel no Devinvale 2014
Cenário atual do PHP e Introdução ao Laravel no Devinvale 2014Cenário atual do PHP e Introdução ao Laravel no Devinvale 2014
Cenário atual do PHP e Introdução ao Laravel no Devinvale 2014Julio Bitencourt
 
Php framework at BarCampPP
Php framework at BarCampPPPhp framework at BarCampPP
Php framework at BarCampPPpsophy
 

Tendances (20)

Dependency management with Composer
Dependency management with ComposerDependency management with Composer
Dependency management with Composer
 
Advantages of Choosing PHP Web Development
Advantages of Choosing PHP Web DevelopmentAdvantages of Choosing PHP Web Development
Advantages of Choosing PHP Web Development
 
PHP-MySQL Database Connectivity Using XAMPP Server
PHP-MySQL Database Connectivity Using XAMPP ServerPHP-MySQL Database Connectivity Using XAMPP Server
PHP-MySQL Database Connectivity Using XAMPP Server
 
MySQL Presentation
MySQL PresentationMySQL Presentation
MySQL Presentation
 
Php through the eyes of a hoster: PHPNW10
Php through the eyes of a hoster: PHPNW10Php through the eyes of a hoster: PHPNW10
Php through the eyes of a hoster: PHPNW10
 
Transcode star
Transcode starTranscode star
Transcode star
 
симфони это не страшно
симфони   это не страшносимфони   это не страшно
симфони это не страшно
 
Php Ppt
Php PptPhp Ppt
Php Ppt
 
Comparing web frameworks
Comparing web frameworksComparing web frameworks
Comparing web frameworks
 
Composer Helpdesk
Composer HelpdeskComposer Helpdesk
Composer Helpdesk
 
Drupal symfony
Drupal symfonyDrupal symfony
Drupal symfony
 
Composer the right way - SunshinePHP
Composer the right way - SunshinePHPComposer the right way - SunshinePHP
Composer the right way - SunshinePHP
 
Introduction to Groovy Monkey
Introduction to Groovy MonkeyIntroduction to Groovy Monkey
Introduction to Groovy Monkey
 
Writing php extensions in golang
Writing php extensions in golangWriting php extensions in golang
Writing php extensions in golang
 
Composer
ComposerComposer
Composer
 
12 Composer #burningkeyboards
12 Composer #burningkeyboards12 Composer #burningkeyboards
12 Composer #burningkeyboards
 
Symfony vs CodeIgniter
Symfony vs CodeIgniterSymfony vs CodeIgniter
Symfony vs CodeIgniter
 
Cenário atual do PHP e Introdução ao Laravel no Devinvale 2014
Cenário atual do PHP e Introdução ao Laravel no Devinvale 2014Cenário atual do PHP e Introdução ao Laravel no Devinvale 2014
Cenário atual do PHP e Introdução ao Laravel no Devinvale 2014
 
Php framework at BarCampPP
Php framework at BarCampPPPhp framework at BarCampPP
Php framework at BarCampPP
 
Os Mcmahan
Os McmahanOs Mcmahan
Os Mcmahan
 

En vedette

Symfony tips and tricks
Symfony tips and tricksSymfony tips and tricks
Symfony tips and tricksJavier Eguiluz
 
Symfony2 Introduction Presentation
Symfony2 Introduction PresentationSymfony2 Introduction Presentation
Symfony2 Introduction PresentationNerd Tzanetopoulos
 
Google Map маркеры вместе с Symfony2
Google Map маркеры вместе с Symfony2Google Map маркеры вместе с Symfony2
Google Map маркеры вместе с Symfony2Aliaksandr Harbunou
 
Php Model-View-Controller Frameworks
Php Model-View-Controller FrameworksPhp Model-View-Controller Frameworks
Php Model-View-Controller FrameworksDavid Badura
 
Codeigniter, a MVC framework for beginner
Codeigniter, a MVC framework for beginnerCodeigniter, a MVC framework for beginner
Codeigniter, a MVC framework for beginneraminbd
 
Codeigniter Introduction
Codeigniter IntroductionCodeigniter Introduction
Codeigniter IntroductionAshfan Ahamed
 
Benefits of the CodeIgniter Framework
Benefits of the CodeIgniter FrameworkBenefits of the CodeIgniter Framework
Benefits of the CodeIgniter FrameworkToby Beresford
 
Introduction to MVC Web Framework with CodeIgniter
Introduction to MVC Web Framework with CodeIgniterIntroduction to MVC Web Framework with CodeIgniter
Introduction to MVC Web Framework with CodeIgniterPongsakorn U-chupala
 
20110907102119431
2011090710211943120110907102119431
20110907102119431Mark Chung
 
Beyond the Paycheck: Stanford GSB Lecture to Net Impact Conference
Beyond the Paycheck:  Stanford GSB Lecture to Net Impact ConferenceBeyond the Paycheck:  Stanford GSB Lecture to Net Impact Conference
Beyond the Paycheck: Stanford GSB Lecture to Net Impact ConferenceWayne Dunn
 
Government and economics 1-2
Government and economics 1-2Government and economics 1-2
Government and economics 1-2cyndalea
 
Proposal for Online Course Evaluations
Proposal for Online Course EvaluationsProposal for Online Course Evaluations
Proposal for Online Course Evaluationsigoteach
 
Raycom gfx redesign
Raycom gfx redesignRaycom gfx redesign
Raycom gfx redesignJosh Johnson
 

En vedette (20)

Symfony tips and tricks
Symfony tips and tricksSymfony tips and tricks
Symfony tips and tricks
 
Symfony2 Introduction Presentation
Symfony2 Introduction PresentationSymfony2 Introduction Presentation
Symfony2 Introduction Presentation
 
Google Map маркеры вместе с Symfony2
Google Map маркеры вместе с Symfony2Google Map маркеры вместе с Symfony2
Google Map маркеры вместе с Symfony2
 
Php Model-View-Controller Frameworks
Php Model-View-Controller FrameworksPhp Model-View-Controller Frameworks
Php Model-View-Controller Frameworks
 
Codeigniter, a MVC framework for beginner
Codeigniter, a MVC framework for beginnerCodeigniter, a MVC framework for beginner
Codeigniter, a MVC framework for beginner
 
Codeigniter Introduction
Codeigniter IntroductionCodeigniter Introduction
Codeigniter Introduction
 
Symfony 2
Symfony 2Symfony 2
Symfony 2
 
Symfony 3
Symfony 3Symfony 3
Symfony 3
 
30 Symfony Best Practices
30 Symfony Best Practices30 Symfony Best Practices
30 Symfony Best Practices
 
Benefits of the CodeIgniter Framework
Benefits of the CodeIgniter FrameworkBenefits of the CodeIgniter Framework
Benefits of the CodeIgniter Framework
 
Introduction to MVC Web Framework with CodeIgniter
Introduction to MVC Web Framework with CodeIgniterIntroduction to MVC Web Framework with CodeIgniter
Introduction to MVC Web Framework with CodeIgniter
 
Disk scheduling
Disk schedulingDisk scheduling
Disk scheduling
 
Usw update-tuesday
Usw update-tuesdayUsw update-tuesday
Usw update-tuesday
 
20110907102119431
2011090710211943120110907102119431
20110907102119431
 
Beyond the Paycheck: Stanford GSB Lecture to Net Impact Conference
Beyond the Paycheck:  Stanford GSB Lecture to Net Impact ConferenceBeyond the Paycheck:  Stanford GSB Lecture to Net Impact Conference
Beyond the Paycheck: Stanford GSB Lecture to Net Impact Conference
 
Government and economics 1-2
Government and economics 1-2Government and economics 1-2
Government and economics 1-2
 
Proposal for Online Course Evaluations
Proposal for Online Course EvaluationsProposal for Online Course Evaluations
Proposal for Online Course Evaluations
 
SHAHU MAHARAJ
SHAHU MAHARAJSHAHU MAHARAJ
SHAHU MAHARAJ
 
Raycom gfx redesign
Raycom gfx redesignRaycom gfx redesign
Raycom gfx redesign
 
Production log
Production logProduction log
Production log
 

Similaire à Introduction to symfony2

Symony2 A Next Generation PHP Framework
Symony2 A Next Generation PHP FrameworkSymony2 A Next Generation PHP Framework
Symony2 A Next Generation PHP FrameworkRyan Weaver
 
An introduction to Symfony 2 for symfony 1 developers
An introduction to Symfony 2 for symfony 1 developersAn introduction to Symfony 2 for symfony 1 developers
An introduction to Symfony 2 for symfony 1 developersGiorgio Cefaro
 
Symfony Components in the wild
Symfony Components in the wildSymfony Components in the wild
Symfony Components in the wildPHPLondon
 
Symfony2 components to the rescue of your PHP projects
Symfony2 components to the rescue of your PHP projectsSymfony2 components to the rescue of your PHP projects
Symfony2 components to the rescue of your PHP projectsXavier Lacot
 
Integrating symfony and Zend Framework
Integrating symfony and Zend FrameworkIntegrating symfony and Zend Framework
Integrating symfony and Zend FrameworkStefan Koopmanschap
 
Integrating symfony and Zend Framework (PHPNW09)
Integrating symfony and Zend Framework (PHPNW09)Integrating symfony and Zend Framework (PHPNW09)
Integrating symfony and Zend Framework (PHPNW09)Stefan Koopmanschap
 
Symfony Components 2.0 on PHP 5.3
Symfony Components 2.0 on PHP 5.3Symfony Components 2.0 on PHP 5.3
Symfony Components 2.0 on PHP 5.3Fabien Potencier
 
Integrating symfony and Zend Framework (PHPBarcelona 2009)
Integrating symfony and Zend Framework (PHPBarcelona 2009)Integrating symfony and Zend Framework (PHPBarcelona 2009)
Integrating symfony and Zend Framework (PHPBarcelona 2009)Stefan Koopmanschap
 
Symfony2 San Francisco Meetup 2009
Symfony2 San Francisco Meetup 2009Symfony2 San Francisco Meetup 2009
Symfony2 San Francisco Meetup 2009Fabien Potencier
 
Hands-on with the Symfony2 Framework
Hands-on with the Symfony2 FrameworkHands-on with the Symfony2 Framework
Hands-on with the Symfony2 FrameworkRyan Weaver
 
Symfony Live 09 Symfony 2
Symfony Live 09 Symfony 2Symfony Live 09 Symfony 2
Symfony Live 09 Symfony 2narkoza
 
Welcome to the Symfony2 World - FOSDEM 2013
 Welcome to the Symfony2 World - FOSDEM 2013 Welcome to the Symfony2 World - FOSDEM 2013
Welcome to the Symfony2 World - FOSDEM 2013Lukas Smith
 
Symfony State Of The Union, March 2010
Symfony State Of The Union, March 2010Symfony State Of The Union, March 2010
Symfony State Of The Union, March 2010Damien Filiatrault
 
Composing Symfony Apps Using Symfony Flex
Composing Symfony Apps Using Symfony FlexComposing Symfony Apps Using Symfony Flex
Composing Symfony Apps Using Symfony FlexDenis - Florin Rendler
 
Symfony Components
Symfony ComponentsSymfony Components
Symfony Componentsguest0de7c2
 
Symfony Components
Symfony ComponentsSymfony Components
Symfony Componentsguest0de7c2
 
Pdx Se Intro To Se
Pdx Se Intro To SePdx Se Intro To Se
Pdx Se Intro To SeAn Doan
 

Similaire à Introduction to symfony2 (20)

Symony2 A Next Generation PHP Framework
Symony2 A Next Generation PHP FrameworkSymony2 A Next Generation PHP Framework
Symony2 A Next Generation PHP Framework
 
An introduction to Symfony 2 for symfony 1 developers
An introduction to Symfony 2 for symfony 1 developersAn introduction to Symfony 2 for symfony 1 developers
An introduction to Symfony 2 for symfony 1 developers
 
Symfony Components in the wild
Symfony Components in the wildSymfony Components in the wild
Symfony Components in the wild
 
Symfony 2.0 on PHP 5.3
Symfony 2.0 on PHP 5.3Symfony 2.0 on PHP 5.3
Symfony 2.0 on PHP 5.3
 
Symfony2 components to the rescue of your PHP projects
Symfony2 components to the rescue of your PHP projectsSymfony2 components to the rescue of your PHP projects
Symfony2 components to the rescue of your PHP projects
 
Symfony
SymfonySymfony
Symfony
 
Integrating symfony and Zend Framework
Integrating symfony and Zend FrameworkIntegrating symfony and Zend Framework
Integrating symfony and Zend Framework
 
Integrating symfony and Zend Framework (PHPNW09)
Integrating symfony and Zend Framework (PHPNW09)Integrating symfony and Zend Framework (PHPNW09)
Integrating symfony and Zend Framework (PHPNW09)
 
Symfony Components 2.0 on PHP 5.3
Symfony Components 2.0 on PHP 5.3Symfony Components 2.0 on PHP 5.3
Symfony Components 2.0 on PHP 5.3
 
Integrating symfony and Zend Framework (PHPBarcelona 2009)
Integrating symfony and Zend Framework (PHPBarcelona 2009)Integrating symfony and Zend Framework (PHPBarcelona 2009)
Integrating symfony and Zend Framework (PHPBarcelona 2009)
 
Symfony2 San Francisco Meetup 2009
Symfony2 San Francisco Meetup 2009Symfony2 San Francisco Meetup 2009
Symfony2 San Francisco Meetup 2009
 
Hands-on with the Symfony2 Framework
Hands-on with the Symfony2 FrameworkHands-on with the Symfony2 Framework
Hands-on with the Symfony2 Framework
 
Symfony Live 09 Symfony 2
Symfony Live 09 Symfony 2Symfony Live 09 Symfony 2
Symfony Live 09 Symfony 2
 
Welcome to the Symfony2 World - FOSDEM 2013
 Welcome to the Symfony2 World - FOSDEM 2013 Welcome to the Symfony2 World - FOSDEM 2013
Welcome to the Symfony2 World - FOSDEM 2013
 
Symfony State Of The Union, March 2010
Symfony State Of The Union, March 2010Symfony State Of The Union, March 2010
Symfony State Of The Union, March 2010
 
Composing Symfony Apps Using Symfony Flex
Composing Symfony Apps Using Symfony FlexComposing Symfony Apps Using Symfony Flex
Composing Symfony Apps Using Symfony Flex
 
Symfony Components
Symfony ComponentsSymfony Components
Symfony Components
 
Symfony Components
Symfony ComponentsSymfony Components
Symfony Components
 
Symfony Components
Symfony ComponentsSymfony Components
Symfony Components
 
Pdx Se Intro To Se
Pdx Se Intro To SePdx Se Intro To Se
Pdx Se Intro To Se
 

Plus de Pablo Godel

SymfonyCon Cluj 2017 - Symfony at OpenSky
SymfonyCon Cluj 2017 - Symfony at OpenSkySymfonyCon Cluj 2017 - Symfony at OpenSky
SymfonyCon Cluj 2017 - Symfony at OpenSkyPablo Godel
 
Symfony Live San Francisco 2017 - Symfony @ OpenSky
Symfony Live San Francisco 2017 - Symfony @ OpenSkySymfony Live San Francisco 2017 - Symfony @ OpenSky
Symfony Live San Francisco 2017 - Symfony @ OpenSkyPablo Godel
 
DeSymfony 2017 - Symfony en OpenSky
DeSymfony 2017 - Symfony en OpenSkyDeSymfony 2017 - Symfony en OpenSky
DeSymfony 2017 - Symfony en OpenSkyPablo Godel
 
Deploying Symfony | symfony.cat
Deploying Symfony | symfony.catDeploying Symfony | symfony.cat
Deploying Symfony | symfony.catPablo Godel
 
SymfonyCon Madrid 2014 - Rock Solid Deployment of Symfony Apps
SymfonyCon Madrid 2014 - Rock Solid Deployment of Symfony AppsSymfonyCon Madrid 2014 - Rock Solid Deployment of Symfony Apps
SymfonyCon Madrid 2014 - Rock Solid Deployment of Symfony AppsPablo Godel
 
La Caja de Herramientas del Desarrollador Moderno PHPConferenceAR
La Caja de Herramientas del Desarrollador Moderno PHPConferenceARLa Caja de Herramientas del Desarrollador Moderno PHPConferenceAR
La Caja de Herramientas del Desarrollador Moderno PHPConferenceARPablo Godel
 
Symfony Live NYC 2014 - Rock Solid Deployment of Symfony Apps
Symfony Live NYC 2014 -  Rock Solid Deployment of Symfony AppsSymfony Live NYC 2014 -  Rock Solid Deployment of Symfony Apps
Symfony Live NYC 2014 - Rock Solid Deployment of Symfony AppsPablo Godel
 
The Modern Developer Toolbox
The Modern Developer ToolboxThe Modern Developer Toolbox
The Modern Developer ToolboxPablo Godel
 
PHP Conference Argentina 2013 - Independizate de tu departamento IT - Habilid...
PHP Conference Argentina 2013 - Independizate de tu departamento IT - Habilid...PHP Conference Argentina 2013 - Independizate de tu departamento IT - Habilid...
PHP Conference Argentina 2013 - Independizate de tu departamento IT - Habilid...Pablo Godel
 
PHP Conference Argentina 2013 - Deployment de aplicaciones PHP a prueba de balas
PHP Conference Argentina 2013 - Deployment de aplicaciones PHP a prueba de balasPHP Conference Argentina 2013 - Deployment de aplicaciones PHP a prueba de balas
PHP Conference Argentina 2013 - Deployment de aplicaciones PHP a prueba de balasPablo Godel
 
php[architect] Summit Series DevOps 2013 - Rock solid deployment of PHP apps
php[architect] Summit Series DevOps 2013 - Rock solid deployment of PHP appsphp[architect] Summit Series DevOps 2013 - Rock solid deployment of PHP apps
php[architect] Summit Series DevOps 2013 - Rock solid deployment of PHP appsPablo Godel
 
Lone Star PHP 2013 - Sysadmin Skills for PHP Developers
Lone Star PHP 2013 - Sysadmin Skills for PHP DevelopersLone Star PHP 2013 - Sysadmin Skills for PHP Developers
Lone Star PHP 2013 - Sysadmin Skills for PHP DevelopersPablo Godel
 
Lone StarPHP 2013 - Building Web Apps from a New Angle
Lone StarPHP 2013 - Building Web Apps from a New AngleLone StarPHP 2013 - Building Web Apps from a New Angle
Lone StarPHP 2013 - Building Web Apps from a New AnglePablo Godel
 
deSymfony 2013 - Creando aplicaciones web desde otro ángulo con Symfony y A...
deSymfony 2013 -  Creando aplicaciones web desde otro ángulo con Symfony y A...deSymfony 2013 -  Creando aplicaciones web desde otro ángulo con Symfony y A...
deSymfony 2013 - Creando aplicaciones web desde otro ángulo con Symfony y A...Pablo Godel
 
Creating Mobile Apps With PHP & Symfony2
Creating Mobile Apps With PHP & Symfony2Creating Mobile Apps With PHP & Symfony2
Creating Mobile Apps With PHP & Symfony2Pablo Godel
 
Tek13 - Creating Mobile Apps with PHP and Symfony
Tek13 - Creating Mobile Apps with PHP and SymfonyTek13 - Creating Mobile Apps with PHP and Symfony
Tek13 - Creating Mobile Apps with PHP and SymfonyPablo Godel
 
Tek 2013 - Building Web Apps from a New Angle with AngularJS
Tek 2013 - Building Web Apps from a New Angle with AngularJSTek 2013 - Building Web Apps from a New Angle with AngularJS
Tek 2013 - Building Web Apps from a New Angle with AngularJSPablo Godel
 
Soflophp 2013 - SysAdmin skills for PHP developers
Soflophp 2013 - SysAdmin skills for PHP developersSoflophp 2013 - SysAdmin skills for PHP developers
Soflophp 2013 - SysAdmin skills for PHP developersPablo Godel
 
Symfony2 and MongoDB - MidwestPHP 2013
Symfony2 and MongoDB - MidwestPHP 2013   Symfony2 and MongoDB - MidwestPHP 2013
Symfony2 and MongoDB - MidwestPHP 2013 Pablo Godel
 
Rock Solid Deployment of Web Applications
Rock Solid Deployment of Web ApplicationsRock Solid Deployment of Web Applications
Rock Solid Deployment of Web ApplicationsPablo Godel
 

Plus de Pablo Godel (20)

SymfonyCon Cluj 2017 - Symfony at OpenSky
SymfonyCon Cluj 2017 - Symfony at OpenSkySymfonyCon Cluj 2017 - Symfony at OpenSky
SymfonyCon Cluj 2017 - Symfony at OpenSky
 
Symfony Live San Francisco 2017 - Symfony @ OpenSky
Symfony Live San Francisco 2017 - Symfony @ OpenSkySymfony Live San Francisco 2017 - Symfony @ OpenSky
Symfony Live San Francisco 2017 - Symfony @ OpenSky
 
DeSymfony 2017 - Symfony en OpenSky
DeSymfony 2017 - Symfony en OpenSkyDeSymfony 2017 - Symfony en OpenSky
DeSymfony 2017 - Symfony en OpenSky
 
Deploying Symfony | symfony.cat
Deploying Symfony | symfony.catDeploying Symfony | symfony.cat
Deploying Symfony | symfony.cat
 
SymfonyCon Madrid 2014 - Rock Solid Deployment of Symfony Apps
SymfonyCon Madrid 2014 - Rock Solid Deployment of Symfony AppsSymfonyCon Madrid 2014 - Rock Solid Deployment of Symfony Apps
SymfonyCon Madrid 2014 - Rock Solid Deployment of Symfony Apps
 
La Caja de Herramientas del Desarrollador Moderno PHPConferenceAR
La Caja de Herramientas del Desarrollador Moderno PHPConferenceARLa Caja de Herramientas del Desarrollador Moderno PHPConferenceAR
La Caja de Herramientas del Desarrollador Moderno PHPConferenceAR
 
Symfony Live NYC 2014 - Rock Solid Deployment of Symfony Apps
Symfony Live NYC 2014 -  Rock Solid Deployment of Symfony AppsSymfony Live NYC 2014 -  Rock Solid Deployment of Symfony Apps
Symfony Live NYC 2014 - Rock Solid Deployment of Symfony Apps
 
The Modern Developer Toolbox
The Modern Developer ToolboxThe Modern Developer Toolbox
The Modern Developer Toolbox
 
PHP Conference Argentina 2013 - Independizate de tu departamento IT - Habilid...
PHP Conference Argentina 2013 - Independizate de tu departamento IT - Habilid...PHP Conference Argentina 2013 - Independizate de tu departamento IT - Habilid...
PHP Conference Argentina 2013 - Independizate de tu departamento IT - Habilid...
 
PHP Conference Argentina 2013 - Deployment de aplicaciones PHP a prueba de balas
PHP Conference Argentina 2013 - Deployment de aplicaciones PHP a prueba de balasPHP Conference Argentina 2013 - Deployment de aplicaciones PHP a prueba de balas
PHP Conference Argentina 2013 - Deployment de aplicaciones PHP a prueba de balas
 
php[architect] Summit Series DevOps 2013 - Rock solid deployment of PHP apps
php[architect] Summit Series DevOps 2013 - Rock solid deployment of PHP appsphp[architect] Summit Series DevOps 2013 - Rock solid deployment of PHP apps
php[architect] Summit Series DevOps 2013 - Rock solid deployment of PHP apps
 
Lone Star PHP 2013 - Sysadmin Skills for PHP Developers
Lone Star PHP 2013 - Sysadmin Skills for PHP DevelopersLone Star PHP 2013 - Sysadmin Skills for PHP Developers
Lone Star PHP 2013 - Sysadmin Skills for PHP Developers
 
Lone StarPHP 2013 - Building Web Apps from a New Angle
Lone StarPHP 2013 - Building Web Apps from a New AngleLone StarPHP 2013 - Building Web Apps from a New Angle
Lone StarPHP 2013 - Building Web Apps from a New Angle
 
deSymfony 2013 - Creando aplicaciones web desde otro ángulo con Symfony y A...
deSymfony 2013 -  Creando aplicaciones web desde otro ángulo con Symfony y A...deSymfony 2013 -  Creando aplicaciones web desde otro ángulo con Symfony y A...
deSymfony 2013 - Creando aplicaciones web desde otro ángulo con Symfony y A...
 
Creating Mobile Apps With PHP & Symfony2
Creating Mobile Apps With PHP & Symfony2Creating Mobile Apps With PHP & Symfony2
Creating Mobile Apps With PHP & Symfony2
 
Tek13 - Creating Mobile Apps with PHP and Symfony
Tek13 - Creating Mobile Apps with PHP and SymfonyTek13 - Creating Mobile Apps with PHP and Symfony
Tek13 - Creating Mobile Apps with PHP and Symfony
 
Tek 2013 - Building Web Apps from a New Angle with AngularJS
Tek 2013 - Building Web Apps from a New Angle with AngularJSTek 2013 - Building Web Apps from a New Angle with AngularJS
Tek 2013 - Building Web Apps from a New Angle with AngularJS
 
Soflophp 2013 - SysAdmin skills for PHP developers
Soflophp 2013 - SysAdmin skills for PHP developersSoflophp 2013 - SysAdmin skills for PHP developers
Soflophp 2013 - SysAdmin skills for PHP developers
 
Symfony2 and MongoDB - MidwestPHP 2013
Symfony2 and MongoDB - MidwestPHP 2013   Symfony2 and MongoDB - MidwestPHP 2013
Symfony2 and MongoDB - MidwestPHP 2013
 
Rock Solid Deployment of Web Applications
Rock Solid Deployment of Web ApplicationsRock Solid Deployment of Web Applications
Rock Solid Deployment of Web Applications
 

Dernier

"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 

Dernier (20)

"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 

Introduction to symfony2

  • 1. Introduction to by Pablo Godel Jan 11 2012 - South Florida PHP Users Group Wednesday, January 11, 2012
  • 2. Who Am I? ⁃ Born in Argentina, living in the US since 1999 ⁃ PHP & Symfony developer ⁃ Founder of the PHP mailing list in spanish ⁃ Cofounder of ServerGrove Networks ⁃ Founded in 2005 ⁃ provider of web hosting specialized in PHP, Symfony, ZendFramework among others ⁃ Very active open source supporter through code contributions and usergroups/conference sponsoring Wednesday, January 11, 2012
  • 4. History of Symfony Wednesday, January 11, 2012
  • 5. Releases - symfony 1.0: January 2007 - symfony 1.2: November 2008 - symfony 1.4: November 2009 - Symfony 2.0: July 2011 - Symfony 2.1: Planned for early 2012 Wednesday, January 11, 2012
  • 6. symfony 1.0 released on January 2007 “symfony is a full-stack framework, a library of cohesive classes written in PHP” - Several libraries put together (modified Mojavi, Propel, Prado i18n, etc) - Concepts borrowed from several languages and frameworks - Routing, CLI, functional tests,YAML, helpers - One of first PHP frameworks to include a Web Debug Toolbar, and an Admin Generator. Wednesday, January 11, 2012
  • 7. symfony 1.0 Highlights - ORM integration: Propel and Doctrine - YAML cascading configuration - Web Debug Toolbar - Admin Generator - Environments - CLI - Functional Tests - Template Caching - Internationalization - Documentation - Plugins - Awesome Community Wednesday, January 11, 2012
  • 8. symfony 1.0 Highlights - Web Debug Toolbar Wednesday, January 11, 2012
  • 9. symfony 1.0 Highlights - Admin Generator Wednesday, January 11, 2012
  • 10. symfony 1.0 Highlights - Command Line Interface Wednesday, January 11, 2012
  • 11. symfony 1.0 Highlights - Documentation - A Gentle Introduction to symfony - Practical symfony (jobeet tutorial) - The symfony Reference Book - More with symfony - The API documentation http://www.symfony-project.org/doc/1_4/ Wednesday, January 11, 2012
  • 12. symfony 1.0 Highlights - Awesome Community IRC #symfony & #symfony-devs Google Groups symfony-users http://groups.google.com/group/symfony-users symfony-devs http://groups.google.com/group/symfony-devs symfony-es http://groups.google.com/group/symfony-es Wiki http://trac.symfony-project.org/wiki/ Forums http://forum.symfony-project.org/ Lots of Blogs Conferences around the world: US, France, Germany, Spain Wednesday, January 11, 2012
  • 13. symfony 1.0 Highlights - Plugins Wednesday, January 11, 2012
  • 14. symfony 1 vs. Symfony 2 Same philosophy Rewritten from scratch Wednesday, January 11, 2012
  • 15. symfony 1 vs. Symfony 2 symfony 1 != Symfony2 Wednesday, January 11, 2012
  • 16. symfony 1 vs. Symfony 2 If you used symfony 1.x better forget about it. Wednesday, January 11, 2012
  • 17. Symfony 2 “First, Symfony2 is a reusable set of standalone, decoupled, and cohesive PHP components that solve common web development problems. Then, based on these components, Symfony2 is also a full-stack web framework.” http://fabien.potencier.org/article/49/what-is-symfony2 Wednesday, January 11, 2012
  • 18. Symfony 2 21 High Quality Components Wednesday, January 11, 2012
  • 19. Symfony 2 Components • DependencyInjection • Serializer • EventDispatcher • Validator • HttpFoundation • Security • DomCrawler • Routing • ClassLoader • Console • CssSelector • Process • HttpKernel • Config • BrowserKit • Finder • Templating • Locale • Translation • Yaml • Serializer • Form All of them at GitHub: http://github.com/symfony Wednesday, January 11, 2012
  • 20. Symfony 2 Components Components Documentation http://symfony.com/doc/current/components/index.html Blog post series about creating a framework based on the Symfony2 Components http://fabien.potencier.org/ Wednesday, January 11, 2012
  • 21. Symfony 2 Highlights • Rewritten from scratch for PHP 5.3 • Based on the HTTP specification • Very stable and solid API (12 preview releases, 5 beta releases, 6 release candidates, 9 stable releases) • Extensible through the creation of Bundles (replacement for sf1 plugins) • Flexible configuration using YAML, XML, annotations or PHP • All configuration is compiled to PHP code and cached • Lots of unit tests • Source code audited by independent security firm thanks to donations of the Symfony Community Wednesday, January 11, 2012
  • 22. Symfony 2 Highlights • Extensible Configuration with Service Container/ Dependency Injection • Complete redesign of Forms support • Validations • Extensible Security with Authentication/Authorization • Advanced and powerful templating through Twig • Routes configured with YAML, XML or Annotations • ESI Caching support out of the box • Assets management with Assetic • Translations • Environments Wednesday, January 11, 2012
  • 23. Symfony 2 Community • 357 developers contributed to Symfony2 • 3000+ pull requests • 969 977 bundles at knpbundles.com • Same very active IRC and mailing lists support channels • Community Gamification through SensioLabs Connect • Symfony2 Ecosystem Wednesday, January 11, 2012
  • 24. Symfony 2 Highlights - SensioLabs Connect Wednesday, January 11, 2012
  • 25. Symfony 2 Highlights - Bundles Wednesday, January 11, 2012
  • 26. Symfony 2 Getting Started http://symfony.com/download Wednesday, January 11, 2012
  • 27. Symfony 2 Getting Started tar zxf Symfony_Standard_Vendors_2.0.9.tgz or unzip Symfony_Standard_Vendors_2.0.9.zip Wednesday, January 11, 2012
  • 28. Symfony 2 Getting Started Distributions A Symfony distribution is made up of Symfony2 components, a selection of bundles, a directory structure, a default configuration. http://symfony.com/distributions Wednesday, January 11, 2012
  • 29. Symfony 2 Getting Started Symfony Standard Distribution • Directory structure • Default configuration • Bundles ⁃ DoctrineBundle ⁃ JMSSecurityExtraBundle ⁃ SensioDistributionBundle ⁃ SensioFrameworkExtraBundle ⁃ SensioGeneratorBundle ⁃ AsseticBundle http://symfony.com/distributions Wednesday, January 11, 2012
  • 30. Symfony 2 Getting Started Wednesday, January 11, 2012
  • 31. Symfony 2 Getting Started Wednesday, January 11, 2012
  • 32. Symfony 2 Directory Structure Wednesday, January 11, 2012
  • 33. Symfony 2 Directory Structure Wednesday, January 11, 2012
  • 34. Symfony 2 Directory Structure Wednesday, January 11, 2012
  • 35. Symfony 2 Directory Structure Wednesday, January 11, 2012
  • 36. Symfony 2 Configuration Files - app/config.yml Wednesday, January 11, 2012
  • 37. Symfony 2 Configuration Files - app/parameters.ini Wednesday, January 11, 2012
  • 38. Symfony 2 Configuration Files - app/config_dev.yml Wednesday, January 11, 2012
  • 39. Browser Request Bootstrap (app.php) Controller Template Response Wednesday, January 11, 2012
  • 41. Symfony 2 Bootstrap File - web/app.php Wednesday, January 11, 2012
  • 47. Templating / Twig Comments: {# comments are not rendered #} {# multi-line comments! {{ var }} #} Output variables: {{ var }} {{ var | upper }} {{ var | raw }} {{ object.property }} {{ true ? ‘yes’ : ‘no’ }} http://twig.sensiolabs.org/ Wednesday, January 11, 2012
  • 48. Templating / Twig Blocks: {% set var = ‘hello’ %} {% set foo = var ~ ’ and goodbye’ %} {% if foo is ‘bar’ %} ... {% else %} ... {% endif %} http://twig.sensiolabs.org/ Wednesday, January 11, 2012
  • 49. Templating / Twig Blocks: {% for key, val in list %} {{ loop.index }}. {{ val }} {% else %} No keys. {% endfor %} http://twig.sensiolabs.org/ Wednesday, January 11, 2012
  • 50. Templating / Twig Extends: {% extends "Bundle::layout.html.twig" %} Include: {% include “Bundle:Demo:template.html.twig” %} Render: {% render “Bundle:Demo:action” %} http://twig.sensiolabs.org/ Wednesday, January 11, 2012
  • 51. Awesome Twig Presentations Twig, The Flexible, Fast and Secure Template Language for PHP - Fabien Potencier http://www.slideshare.net/fabpot/twig-the-flexible-fast-and-securetemplate- language-for-php Being Dangerous with Twig - Ryan Weaver http://slideshare.net/weaverryan/being-dangerous-with-twig-symfony- live-paris Twig avanzado - Javier Eguiluz http://www.slideshare.net/javier.eguiluz/twig-avanzado-sf2vigo (Spanish) Wednesday, January 11, 2012
  • 52. Templating / Twig layout.html.twig Wednesday, January 11, 2012
  • 53. Templating / Twig index.html.twig Wednesday, January 11, 2012
  • 54. Templating / Twig index.html.twig Wednesday, January 11, 2012
  • 56. Bundles Everything in Symfony2 is contained in Bundles Wednesday, January 11, 2012
  • 57. Bundles Even Symfony2 is a collection of Bundles Wednesday, January 11, 2012
  • 58. Symfony 2 Directory Structure Wednesday, January 11, 2012
  • 59. Symfony 2 Bundles Registration - app/AppKernel.php Wednesday, January 11, 2012
  • 65. Bundles Showcase And many many more! Wednesday, January 11, 2012
  • 67. Forms Definition Wednesday, January 11, 2012
  • 68. Forms Presentation Wednesday, January 11, 2012
  • 69. Forms Processing Wednesday, January 11, 2012
  • 70. Web Debug Toolbar & Profiler Wednesday, January 11, 2012
  • 71. Web Debug Toolbar / Profiler Wednesday, January 11, 2012
  • 72. CLI, Generator Commands Demo Wednesday, January 11, 2012
  • 73. Twig Silex Ecosystem ORM & ODM Deployments BDD Framework Web Acceptance Testing Wednesday, January 11, 2012
  • 74. Who uses Symfony2? Wednesday, January 11, 2012
  • 75. Who uses Symfony2? Wednesday, January 11, 2012
  • 76. Who uses Symfony2? Wednesday, January 11, 2012
  • 77. Who uses Symfony2? Wednesday, January 11, 2012
  • 78. Who uses Symfony2? Wednesday, January 11, 2012
  • 79. Who uses Symfony2? Wednesday, January 11, 2012
  • 81. You should :-) Wednesday, January 11, 2012
  • 84. Thank you! Slides: http://slideshare.net/pgodel Twitter: @pgodel IRC Freenode: pgodel E-mail: pablo@servergrove.com Wednesday, January 11, 2012