Introduction to symfony2
Upcoming SlideShare
Loading in...5
×
 

Introduction to symfony2

on

  • 9,832 views

 

Statistics

Views

Total Views
9,832
Views on SlideShare
7,804
Embed Views
2,028

Actions

Likes
9
Downloads
155
Comments
0

12 Embeds 2,028

http://blog.servergrove.com 1777
http://feeds.feedburner.com 132
http://www.lectrio.dev 97
http://a0.twimg.com 6
http://www.sfexception.com 4
http://translate.googleusercontent.com 2
http://tweetedtimes.com 2
http://embedly.github.com 2
http://www.sfexception.come 2
http://dev.codiki.com 2
http://dev.symfony2developer.com 1
https://twitter.com 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Introduction to symfony2 Introduction to symfony2 Presentation Transcript

  • Introduction to by Pablo Godel Jan 11 2012 - South Florida PHP Users GroupWednesday, 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 sponsoringWednesday, January 11, 2012
  • Wednesday, January 11, 2012
  • History of SymfonyWednesday, 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 2012Wednesday, 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 CommunityWednesday, January 11, 2012
  • symfony 1.0 Highlights - Web Debug ToolbarWednesday, January 11, 2012
  • symfony 1.0 Highlights - Admin GeneratorWednesday, January 11, 2012
  • symfony 1.0 Highlights - Command Line InterfaceWednesday, 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 CommunityIRC #symfony & #symfony-devsGoogle 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-esWiki http://trac.symfony-project.org/wiki/Forums http://forum.symfony-project.org/Lots of BlogsConferences around the world: US, France, Germany,SpainWednesday, January 11, 2012
  • symfony 1.0 Highlights - PluginsWednesday, January 11, 2012
  • symfony 1 vs. Symfony 2 Same philosophy Rewritten from scratchWednesday, January 11, 2012
  • symfony 1 vs. Symfony 2 symfony 1 != Symfony2Wednesday, 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-symfony2Wednesday, January 11, 2012
  • Symfony 2 21 High Quality ComponentsWednesday, 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/symfonyWednesday, 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 CommunityWednesday, 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 • EnvironmentsWednesday, 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 EcosystemWednesday, January 11, 2012
  • Symfony 2 Highlights - SensioLabs ConnectWednesday, January 11, 2012
  • Symfony 2 Highlights - BundlesWednesday, January 11, 2012
  • Symfony 2 Getting Startedhttp://symfony.com/downloadWednesday, January 11, 2012
  • Symfony 2 Getting Started tar zxf Symfony_Standard_Vendors_2.0.9.tgz or unzip Symfony_Standard_Vendors_2.0.9.zipWednesday, 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/distributionsWednesday, January 11, 2012
  • Symfony 2 Getting Started Symfony Standard Distribution • Directory structure • Default configuration • Bundles ⁃ DoctrineBundle ⁃ JMSSecurityExtraBundle ⁃ SensioDistributionBundle ⁃ SensioFrameworkExtraBundle ⁃ SensioGeneratorBundle ⁃ AsseticBundle http://symfony.com/distributionsWednesday, January 11, 2012
  • Symfony 2 Getting StartedWednesday, January 11, 2012
  • Symfony 2 Getting StartedWednesday, January 11, 2012
  • Symfony 2 Directory StructureWednesday, January 11, 2012
  • Symfony 2 Directory StructureWednesday, January 11, 2012
  • Symfony 2 Directory StructureWednesday, January 11, 2012
  • Symfony 2 Directory StructureWednesday, January 11, 2012
  • Symfony 2 Configuration Files - app/config.ymlWednesday, January 11, 2012
  • Symfony 2 Configuration Files - app/parameters.iniWednesday, January 11, 2012
  • Symfony 2 Configuration Files - app/config_dev.ymlWednesday, January 11, 2012
  • Browser Request Bootstrap (app.php) Controller Template ResponseWednesday, January 11, 2012
  • Bootstrap (app.php)Wednesday, January 11, 2012
  • Symfony 2 Bootstrap File - web/app.phpWednesday, January 11, 2012
  • ControllersWednesday, January 11, 2012
  • ControllersWednesday, January 11, 2012
  • ControllersWednesday, January 11, 2012
  • ControllersWednesday, January 11, 2012
  • TemplatesWednesday, 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.twigWednesday, January 11, 2012
  • Templating / Twig index.html.twigWednesday, January 11, 2012
  • Templating / Twig index.html.twigWednesday, January 11, 2012
  • BundlesWednesday, January 11, 2012
  • Bundles Everything in Symfony2 is contained in BundlesWednesday, January 11, 2012
  • Bundles Even Symfony2 is a collection of BundlesWednesday, January 11, 2012
  • Symfony 2 Directory StructureWednesday, January 11, 2012
  • Symfony 2 Bundles Registration - app/AppKernel.phpWednesday, January 11, 2012
  • Bundles ShowcaseWednesday, January 11, 2012
  • Bundles ShowcaseWednesday, January 11, 2012
  • Bundles ShowcaseWednesday, January 11, 2012
  • Bundles ShowcaseWednesday, January 11, 2012
  • Bundles ShowcaseWednesday, January 11, 2012
  • Bundles Showcase And many many more!Wednesday, January 11, 2012
  • FormsWednesday, January 11, 2012
  • Forms DefinitionWednesday, January 11, 2012
  • Forms PresentationWednesday, January 11, 2012
  • Forms ProcessingWednesday, January 11, 2012
  • Web Debug Toolbar & ProfilerWednesday, January 11, 2012
  • Web Debug Toolbar / ProfilerWednesday, January 11, 2012
  • CLI, Generator Commands DemoWednesday, January 11, 2012
  • Twig Silex Ecosystem ORM & ODM Deployments BDD Framework Web Acceptance TestingWednesday, 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.comWednesday, January 11, 2012