symfony 1.1 goodness (dutch php conference 2008)

64
Fabien Potencier symfony symfony 1.1 goodness

Upload: fabien-potencier

Post on 28-Nov-2014

4.923 views

Category:

Technology


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: symfony 1.1 goodness (Dutch PHP Conference 2008)

Fabien Potencier

symfony symfony 1.1 goodness

Page 2: symfony 1.1 goodness (Dutch PHP Conference 2008)

Who am I? • Founder of Sensio

– Web Agency – Since 1998 – 45 people – Open-Source Specialists – Big corporate customers

• Creator and lead developer of symfony

Page 3: symfony 1.1 goodness (Dutch PHP Conference 2008)

symfony • PHP Web framework

• Based on – 10 years of Sensio experience

– Existing Open-Source projects

• MIT license

• Documentation is Open-Source

• Great community

Page 4: symfony 1.1 goodness (Dutch PHP Conference 2008)

Maintainability Standardization Faster & Better

Page 5: symfony 1.1 goodness (Dutch PHP Conference 2008)

« entreprise » version

Page 6: symfony 1.1 goodness (Dutch PHP Conference 2008)

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

Page 7: symfony 1.1 goodness (Dutch PHP Conference 2008)

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

Page 8: symfony 1.1 goodness (Dutch PHP Conference 2008)

symfony is a set of cohesive but decoupled classes

Page 9: symfony 1.1 goodness (Dutch PHP Conference 2008)

symfony platform

Page 10: symfony 1.1 goodness (Dutch PHP Conference 2008)
Page 11: symfony 1.1 goodness (Dutch PHP Conference 2008)
Page 12: symfony 1.1 goodness (Dutch PHP Conference 2008)
Page 13: symfony 1.1 goodness (Dutch PHP Conference 2008)
Page 14: symfony 1.1 goodness (Dutch PHP Conference 2008)

http://localhost/index.php!

http://localhost/index.php?name=Fabien!

Hello Fabien

Hello World

Page 15: symfony 1.1 goodness (Dutch PHP Conference 2008)
Page 16: symfony 1.1 goodness (Dutch PHP Conference 2008)

http://localhost/hello /Fabien!

Hello Fabien

http://localhost/index.php?name=Fabien!

http://localhost/index.php/hello /Fabien!

Page 17: symfony 1.1 goodness (Dutch PHP Conference 2008)

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

Page 18: symfony 1.1 goodness (Dutch PHP Conference 2008)

Some events application.log application.throw_exception context.load_factories request.filter_parameters user.change_culture controller.page_not_found response.filter_content view.cache.filter_content *.method_not_found

Page 19: symfony 1.1 goodness (Dutch PHP Conference 2008)

symfony platform

Page 20: symfony 1.1 goodness (Dutch PHP Conference 2008)

the symfony MVC framework is based on

the symfony platform

Page 21: symfony 1.1 goodness (Dutch PHP Conference 2008)
Page 22: symfony 1.1 goodness (Dutch PHP Conference 2008)
Page 23: symfony 1.1 goodness (Dutch PHP Conference 2008)
Page 24: symfony 1.1 goodness (Dutch PHP Conference 2008)

symfony 1.1 new features and enhancements

Page 25: symfony 1.1 goodness (Dutch PHP Conference 2008)

CLI • Rewritten from scratch

– OOP – Arguments and options management – Extensible – Built-it help

Page 26: symfony 1.1 goodness (Dutch PHP Conference 2008)
Page 27: symfony 1.1 goodness (Dutch PHP Conference 2008)
Page 28: symfony 1.1 goodness (Dutch PHP Conference 2008)
Page 29: symfony 1.1 goodness (Dutch PHP Conference 2008)

Tests • Better m2m support in fixtures

• File upload support

• CSS3 selectors

• New shortcuts (isUserCulture, isRequestFormat)

Page 30: symfony 1.1 goodness (Dutch PHP Conference 2008)

m2m fixtures

Page 31: symfony 1.1 goodness (Dutch PHP Conference 2008)

m2m fixtures

Page 32: symfony 1.1 goodness (Dutch PHP Conference 2008)

m2m fixtures

Page 33: symfony 1.1 goodness (Dutch PHP Conference 2008)

File upload support

Page 34: symfony 1.1 goodness (Dutch PHP Conference 2008)

CSS3 selectors

Page 35: symfony 1.1 goodness (Dutch PHP Conference 2008)

Forms • OOP

• Flexible and customizable

• MVC based (Validator, Widget, Form)

• Easy to embed forms

• Secure

• Fully integrated with Propel and Doctrine

• Useable without symfony

Page 36: symfony 1.1 goodness (Dutch PHP Conference 2008)

Propel Form The model is introspected to generate form classes

Page 37: symfony 1.1 goodness (Dutch PHP Conference 2008)
Page 38: symfony 1.1 goodness (Dutch PHP Conference 2008)
Page 39: symfony 1.1 goodness (Dutch PHP Conference 2008)
Page 40: symfony 1.1 goodness (Dutch PHP Conference 2008)
Page 41: symfony 1.1 goodness (Dutch PHP Conference 2008)
Page 42: symfony 1.1 goodness (Dutch PHP Conference 2008)
Page 43: symfony 1.1 goodness (Dutch PHP Conference 2008)
Page 44: symfony 1.1 goodness (Dutch PHP Conference 2008)
Page 45: symfony 1.1 goodness (Dutch PHP Conference 2008)
Page 46: symfony 1.1 goodness (Dutch PHP Conference 2008)
Page 47: symfony 1.1 goodness (Dutch PHP Conference 2008)
Page 48: symfony 1.1 goodness (Dutch PHP Conference 2008)
Page 49: symfony 1.1 goodness (Dutch PHP Conference 2008)
Page 50: symfony 1.1 goodness (Dutch PHP Conference 2008)
Page 51: symfony 1.1 goodness (Dutch PHP Conference 2008)
Page 52: symfony 1.1 goodness (Dutch PHP Conference 2008)
Page 53: symfony 1.1 goodness (Dutch PHP Conference 2008)

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!

Page 54: symfony 1.1 goodness (Dutch PHP Conference 2008)
Page 55: symfony 1.1 goodness (Dutch PHP Conference 2008)
Page 56: symfony 1.1 goodness (Dutch PHP Conference 2008)
Page 57: symfony 1.1 goodness (Dutch PHP Conference 2008)
Page 58: symfony 1.1 goodness (Dutch PHP Conference 2008)
Page 59: symfony 1.1 goodness (Dutch PHP Conference 2008)
Page 60: symfony 1.1 goodness (Dutch PHP Conference 2008)
Page 61: symfony 1.1 goodness (Dutch PHP Conference 2008)
Page 62: symfony 1.1 goodness (Dutch PHP Conference 2008)

xml

json

css

js

text/xml, application/xml, application/x-xml

application/json, application/x-json

text/css

application/javascript, application/x-javascript

Page 63: symfony 1.1 goodness (Dutch PHP Conference 2008)

Questions?

Page 64: symfony 1.1 goodness (Dutch PHP Conference 2008)

Sensio S.A. 26, rue Salomon de Rothschild

92 286 Suresnes Cedex FRANCE

Tél. : +33 1 40 99 80 80

Contact Fabien Potencier

[email protected]

http://www.sensiolabs.com/ http://www.symfony-project.org/