Symfony for non-techies

22
Ibuildings for non-techies Ibuildings Presentation Version 10 www.ibuildings.nl +31 118 429 550 [email protected] Ibuildings The PHP Professionals

description

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

Transcript of Symfony for non-techies

Page 1: Symfony for non-techies

Ibuildings

for non-techies

Ibuildings Presentation

Version 10

www.ibuildings.nl+31 118 429 [email protected]

IbuildingsThe PHP Professionals

Page 2: Symfony for non-techies

Monday, December 10, 2007 2

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?

Page 3: Symfony for non-techies

Monday, December 10, 2007 3

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 ;)

Page 4: Symfony for non-techies

Monday, December 10, 2007

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

4

Page 5: Symfony for non-techies

Monday, December 10, 2007

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

5

Page 6: Symfony for non-techies

Monday, December 10, 2007

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

6

Page 7: Symfony for non-techies

Monday, December 10, 2007

Technology for non-techies

7

Page 8: Symfony for non-techies

Monday, December 10, 2007

Buzzwords..eh..Buzz Acronyms

• AJAX• RSS/ATOM• RAD/XP• DRY• KISS

8

Page 9: Symfony for non-techies

Monday, December 10, 2007

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

9

Page 10: Symfony for non-techies

Monday, December 10, 2007

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

10

Page 11: Symfony for non-techies

Monday, December 10, 2007

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

11

Page 12: Symfony for non-techies

Monday, December 10, 2007

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

12

Page 13: Symfony for non-techies

Monday, December 10, 2007

And what does it do?

13

Page 14: Symfony for non-techies

Monday, December 10, 2007

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

14

Page 15: Symfony for non-techies

Monday, December 10, 2007

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

15

Page 16: Symfony for non-techies

Monday, December 10, 2007

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

16

Page 17: Symfony for non-techies

Monday, December 10, 2007

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

17

Page 18: Symfony for non-techies

Monday, December 10, 2007

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

18

Page 19: Symfony for non-techies

Monday, December 10, 2007

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

19

Page 20: Symfony for non-techies

Monday, December 10, 2007

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

20

Page 21: Symfony for non-techies

Monday, December 10, 2007

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

21

Page 22: Symfony for non-techies

Monday, December 10, 2007

Questions?

22

?