Who am I?
• Founder of Sensio
– Web Agency
– Since 1998
– 45 people
– Open-Source Specialists
– Big corporate customers
• Creator and lead developer of symfony
symfony
• PHP Web framework
• Based on
– 10 years of Sensio experience
– Existing Open-Source projects
• MIT license
• Documentation is Open-Source
• Great community
Maintainability
Standardization
Faster & Better
« entreprise » version
Version 1.0 released early 2007
– Maintained for 3 years (early 2010)
– ~1 release a month (1.0.16 now)
• Bug and security fixes, compatibility with
new PHP versions fixes
• No new features (even small ones)
• Upgrading is simple and safe
Version 1.1 to be released this month
– Maintained for 1 year
– Same release cycle as 1.0
Roadmap
– Version 1.2 Q4 2008
– Version 1.3 Q1 2009
symfony is a set of cohesive
but decoupled classes
symfony platform
http://localhost/index.php?name=Fabien!
Hello Fabien
http://localhost/index.php!
Hello World
sfEventDispatcher
// sfPatternRouting!
$callback = array($this, ’filterParameters‘);!
$dispatcher->connect(’request.filter_parameters‘, $callback);!
// sfWebRequest!
$event = new sfEvent($this, ‘request.filter_parameters’);!
$dispatcher->filter($event, $parameters);!
• sfPatternRouting and sfWebRequest are decoupled
• « Anybody » can listen to any event
• You can notify existing events or create new ones
the symfony MVC framework
is based on
the symfony platform
symfony 1.1
new features and enhancements
CLI
• Rewritten from scratch
– OOP
– Arguments and options management
– Extensible
– Built-it help
Tests
• Better m2m support in fixtures
• File upload support
• CSS3 selectors
• New shortcuts (isUserCulture, isRequestFormat)
m2m fixtures
m2m fixtures
m2m fixtures
File upload support
CSS3 selectors
Forms
• OOP
• Flexible and customizable
• MVC based (Validator, Widget, Form)
• Easy to embed forms
• Secure
• Fully integrated with Propel and Doctrine
• Useable without symfony
Propel Form
The model is introspected to generate form classes
Native multi-format support
• A request has a format (HTML by default)
css, js, xml, atom, json, …
• Same controller and model
• Different templates (layouts/partials/components)
• Easy to implement a new format (iPhone)
http://www.symfony-project.org/cookbook/1_1/en/iphone!
0 comments
Post a comment