Symfony for non-techies
Upcoming SlideShare
Loading in...5

Symfony for non-techies



A presentation giving an overview of symfony for people that not really technology-minded (sales? marketing?)

A presentation giving an overview of symfony for people that not really technology-minded (sales? marketing?)



Total Views
Views on SlideShare
Embed Views



10 Embeds 147 101 18 8 7 5 3 2 1 1 1



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.


12 of 2

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
  • Gr8!!
    Are you sure you want to
    Your message goes here
  • Very good overview of symfony framework. I think this is very much useful for beginners.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

    Symfony for non-techies Symfony for non-techies Presentation Transcript

    • for non-techies Ibuildings Presentation Ibuildings The PHP Professionals +31 118 429 550 Ibuildings Version 10
    • Contents of this presentation • What is symfony? • Symfony timeline  History  Present  Future • Technology for non-techies  Buzzwords  But is it that interesting?  And what does it do? Monday, December 10, 2007 2
    • What is symfony? • PHP5 Web Application Framework  Aims at bringing open source to the enterprise  Wants to speed up development of web applications  Wants to offer maintainability and structure  Wants to offer professionalism  Supports “agile” development  Is easily extendable  Provides standard web security options  Not written from scratch, but based on existing open source projects  But ... it’s french ;) Monday, December 10, 2007 3
    • Symfony timeline: History • Symfony is relatively young  2005 saw the first release  2007: first stable release (1.0.0) • Ideas floating in the head of Fabien Potencier since 2003 • Since early releases, a community began to grow Monday, December 10, 2007 4
    • Symfony timeline: Present • Symfony version 1.0.9 • A lot of development for symfony 1.1 • 100’s of open source plugins • Big community spread out over forums, Google groups and local symfony portals • An ever-growing list of applications build with symfony • An ever-growing list of companies using symfony Monday, December 10, 2007 5
    • Symfony timeline: Future • Coming soon: Symfony 1.1  The first step towards a leaner, meaner 2.0  Mainly optimization and a few new features • 2008: Symfony 2.0  Completely rewritten  Less magic, clearer code  Faaaaasssstttteeeerrrrr • But...  Symfony 1.0 will be supported with bugfixes and security patches for a long time to come  Upgrade path from symfony 1.0 to 1.1 Monday, December 10, 2007 6
    • Technology for non-techies Monday, December 10, 2007 7
    • Acronyms • AJAX • RSS/ATOM • RAD/XP • DRY • KISS Monday, December 10, 2007 8
    • But is it that interesting? • Very free license: MIT  Do whatever you want with it  Just leave the copyrights • Stable  Minor releases only contain bugfixes or very minor additions  Only major releases *may* break backwards compatibility  Monthly release schedule • Based on best practices • Aimed at the enterprise from the start Monday, December 10, 2007 9
    • But is it that interesting? • It wants to lower development cost  Lower cost-per-line • Easier testing • Simpler maintainance – Results in lower overall cost  Less lines of code • Configurable options • Autoloading • Automating standard tasks – Results in less bugs – Results in less code to write – Results in lower overall cost Monday, December 10, 2007 10
    • But is it that interesting? • It wants to result in higher quality PHP5  MVC and other “design patterns”  Object oriented  Documentation  Security  Unit and Functional testing  Agile approach  Monday, December 10, 2007 11
    • And what does it do? • Complete application structure  All applications have a similar structure  Basic structure is created automatically  A lot of configurable features, such as routing, display options, security, caching, and much more • Applications are split into modules  For instance: news, projects, contact  Basic module structure is created automatically  Module-specific configuration as well as overruling application-configuration Monday, December 10, 2007 12
    • And what does it do? Monday, December 10, 2007 13
    • And what does it do? • Debugging help for developers  Faster debugging and optimizing with debug toolbar  Full flow can be tracked, making it easy to find out why certain things happen in a page Monday, December 10, 2007 14
    • And what does it do? • Debugging continued...  Same overlay for database queries and variables and configuration settings  Optimization overlay: check which parts of a page takes longer Monday, December 10, 2007 15
    • And what does it do? • Database abstraction and ORM using Propel/Creole  Automation of model creation  All data logic in models, models expose the data to the application  Easily extendable without losing custom code • Easy templating  No template engine; view should not contain any complicated logic anyway  Global template for overall layout  Partials, components, slots for sharing info between modules Monday, December 10, 2007 16
    • And what does it do? • Form validation  No annoyingly long coding, checking all form fields  A simple configuration file is enough for standard validation  Easily write custom validators • Easy AJAX integration  No need to write javascript anymore for most common AJAX uses  Everything in easy to use php functions that generate and inject the javascript code  Can support fallback for browsers that do not support javascript Monday, December 10, 2007 17
    • And what does it do? • Routing and SEO  “Friendly” URLs by default  Can be made more friendly by the routing system • Routing based on simple configuration file • Routing system is based on Ruby on Rails routing • /news/article/id/536 can be /news/536 with simple configuration • /news/article/id/536 can be /news/this_is_some_great_news with a little extra logic  Route changes in configuration will reflect links in the application if the special url_for() and link_to() functions are being used Monday, December 10, 2007 18
    • And what does it do? • Speed and performance  Caching of configuration  Caching of pages; even up to actually creating static HTML pages  Caching of components, slots and partials  Caching of parts of your template  Debug mode will show which parts are cached • i18n and i10n  Can be configured per application or module  Can be changed dynamically (for instance when a user logs in)  Support of XML Localization Interchange File Format (XLIFF) standard format Monday, December 10, 2007 19
    • And what does it do? • Generators  Admin generator will generate a basic management interface • Uses database relations if defined • Highly configurable without any coding • Can easily get a custom layout  Custom generators allow automating even more tasks • You can easily write your own generator templates to generate your own pieces of code • Unit and functional testing  Built in unit and functional testing framework  Better code, easier testing • Easy deployment  Single command for deploying application Monday, December 10, 2007 20
    • And what does it do? • Highly extendable  Use Zend Framework or ezComponents in symfony without a hassle  Use plugins to instantly add new functionality to your application  Write your own plugins to share your own functionality across projects, or with the community  One of the most important plugins: sfZendLucene (integrating Zend Framework Lucene search with your symfony application)  Lots of other plugins: CMS, discussion forum, weblog, Yahoo! UI, Urchin/Google Analytics integration, several PDF generators, JPGraph, several payment processors (Paypal, EchoPay, AuthorizeNet), sfGuard (full using authentication), and many more Monday, December 10, 2007 21
    • Questions? ? Monday, December 10, 2007 22