106
Integrating symfony and Zend Framework International PHP Conference, 12-10-2010 dinsdag 12 oktober 2010

Integrating symfony and Zend Framework (IPC 2010)

Embed Size (px)

DESCRIPTION

The slides of my presentation on integrating symfony and Zend Framework, as presented at International PHP Conference 2010 in Mainz on October 12

Citation preview

Page 1: Integrating symfony and Zend Framework (IPC 2010)

Integratingsymfony and Zend Framework

International PHP Conference, 12-10-2010

dinsdag 12 oktober 2010

Page 2: Integrating symfony and Zend Framework (IPC 2010)

Welcome

dinsdag 12 oktober 2010

Page 3: Integrating symfony and Zend Framework (IPC 2010)

Welcome

• About frameworks

dinsdag 12 oktober 2010

Page 4: Integrating symfony and Zend Framework (IPC 2010)

Welcome

• About frameworks

• Zend Framework in symfony projects

dinsdag 12 oktober 2010

Page 5: Integrating symfony and Zend Framework (IPC 2010)

Welcome

• About frameworks

• Zend Framework in symfony projects

• symfony in Zend Framework projects

dinsdag 12 oktober 2010

Page 6: Integrating symfony and Zend Framework (IPC 2010)

About me

dinsdag 12 oktober 2010

Page 7: Integrating symfony and Zend Framework (IPC 2010)

About me

• Stefan Koopmanschap

dinsdag 12 oktober 2010

Page 8: Integrating symfony and Zend Framework (IPC 2010)

About me

• Stefan Koopmanschap

• Developer/Consultant/Trainer

dinsdag 12 oktober 2010

Page 9: Integrating symfony and Zend Framework (IPC 2010)

About me

• Stefan Koopmanschap

• Developer/Consultant/Trainer

• symfony Community Manager

dinsdag 12 oktober 2010

Page 10: Integrating symfony and Zend Framework (IPC 2010)

About me

• Stefan Koopmanschap

• Developer/Consultant/Trainer

• symfony Community Manager

• Zend Framework Contributor

dinsdag 12 oktober 2010

Page 11: Integrating symfony and Zend Framework (IPC 2010)

About me

• Stefan Koopmanschap

• Developer/Consultant/Trainer

• symfony Community Manager

• Zend Framework Contributor

• PHPBenelux secretary

dinsdag 12 oktober 2010

Page 12: Integrating symfony and Zend Framework (IPC 2010)

dinsdag 12 oktober 2010

Page 13: Integrating symfony and Zend Framework (IPC 2010)

Who uses...

dinsdag 12 oktober 2010

Page 14: Integrating symfony and Zend Framework (IPC 2010)

Who uses...

• a PHP framework?

dinsdag 12 oktober 2010

Page 15: Integrating symfony and Zend Framework (IPC 2010)

Who uses...

• a PHP framework?

• an open source PHP framework?

dinsdag 12 oktober 2010

Page 16: Integrating symfony and Zend Framework (IPC 2010)

Who uses...

• a PHP framework?

• an open source PHP framework?

• symfony?

dinsdag 12 oktober 2010

Page 17: Integrating symfony and Zend Framework (IPC 2010)

Who uses...

• a PHP framework?

• an open source PHP framework?

• symfony?

• Zend Framework?

dinsdag 12 oktober 2010

Page 18: Integrating symfony and Zend Framework (IPC 2010)

Who uses...

• a PHP framework?

• an open source PHP framework?

• symfony?

• Zend Framework?

• More than one framework in the same project?

dinsdag 12 oktober 2010

Page 19: Integrating symfony and Zend Framework (IPC 2010)

Frameworks

dinsdag 12 oktober 2010

Page 20: Integrating symfony and Zend Framework (IPC 2010)

Frameworks

• Why?

dinsdag 12 oktober 2010

Page 21: Integrating symfony and Zend Framework (IPC 2010)

Frameworks

• Why?

• Which?

dinsdag 12 oktober 2010

Page 22: Integrating symfony and Zend Framework (IPC 2010)

symfonydinsdag 12 oktober 2010

Page 23: Integrating symfony and Zend Framework (IPC 2010)

Zend Frameworkdinsdag 12 oktober 2010

Page 24: Integrating symfony and Zend Framework (IPC 2010)

integratedinsdag 12 oktober 2010

Page 25: Integrating symfony and Zend Framework (IPC 2010)

Zend Framework in symfony projects

dinsdag 12 oktober 2010

Page 26: Integrating symfony and Zend Framework (IPC 2010)

Getting set up

dinsdag 12 oktober 2010

Page 27: Integrating symfony and Zend Framework (IPC 2010)

Getting set up

dinsdag 12 oktober 2010

Page 28: Integrating symfony and Zend Framework (IPC 2010)

dinsdag 12 oktober 2010

Page 29: Integrating symfony and Zend Framework (IPC 2010)

dinsdag 12 oktober 2010

Page 30: Integrating symfony and Zend Framework (IPC 2010)

dinsdag 12 oktober 2010

Page 31: Integrating symfony and Zend Framework (IPC 2010)

Last.fm

dinsdag 12 oktober 2010

Page 32: Integrating symfony and Zend Framework (IPC 2010)

Show my friends

dinsdag 12 oktober 2010

Page 33: Integrating symfony and Zend Framework (IPC 2010)

dinsdag 12 oktober 2010

Page 34: Integrating symfony and Zend Framework (IPC 2010)

dinsdag 12 oktober 2010

Page 35: Integrating symfony and Zend Framework (IPC 2010)

dinsdag 12 oktober 2010

Page 36: Integrating symfony and Zend Framework (IPC 2010)

Search

dinsdag 12 oktober 2010

Page 37: Integrating symfony and Zend Framework (IPC 2010)

Search

dinsdag 12 oktober 2010

Page 38: Integrating symfony and Zend Framework (IPC 2010)

Search

• index my posts

dinsdag 12 oktober 2010

Page 39: Integrating symfony and Zend Framework (IPC 2010)

Search

• index my posts

• provide search option

dinsdag 12 oktober 2010

Page 40: Integrating symfony and Zend Framework (IPC 2010)

Zend Search Lucene

dinsdag 12 oktober 2010

Page 41: Integrating symfony and Zend Framework (IPC 2010)

Indexdinsdag 12 oktober 2010

Page 42: Integrating symfony and Zend Framework (IPC 2010)

Indexdinsdag 12 oktober 2010

Page 43: Integrating symfony and Zend Framework (IPC 2010)

Indexdinsdag 12 oktober 2010

Page 44: Integrating symfony and Zend Framework (IPC 2010)

Indexdinsdag 12 oktober 2010

Page 45: Integrating symfony and Zend Framework (IPC 2010)

Indexdinsdag 12 oktober 2010

Page 46: Integrating symfony and Zend Framework (IPC 2010)

Searchdinsdag 12 oktober 2010

Page 47: Integrating symfony and Zend Framework (IPC 2010)

Searchdinsdag 12 oktober 2010

Page 48: Integrating symfony and Zend Framework (IPC 2010)

Searchdinsdag 12 oktober 2010

Page 49: Integrating symfony and Zend Framework (IPC 2010)

Searchdinsdag 12 oktober 2010

Page 50: Integrating symfony and Zend Framework (IPC 2010)

Searchdinsdag 12 oktober 2010

Page 51: Integrating symfony and Zend Framework (IPC 2010)

Searchdinsdag 12 oktober 2010

Page 52: Integrating symfony and Zend Framework (IPC 2010)

SOAP

dinsdag 12 oktober 2010

Page 53: Integrating symfony and Zend Framework (IPC 2010)

SOAP

dinsdag 12 oktober 2010

Page 54: Integrating symfony and Zend Framework (IPC 2010)

SOAP

• No full dispatch

dinsdag 12 oktober 2010

Page 55: Integrating symfony and Zend Framework (IPC 2010)

SOAP

• No full dispatch

• Expose class/object methods

dinsdag 12 oktober 2010

Page 56: Integrating symfony and Zend Framework (IPC 2010)

SOAP

• No full dispatch

• Expose class/object methods

• Use configuration and autoloading

dinsdag 12 oktober 2010

Page 57: Integrating symfony and Zend Framework (IPC 2010)

dinsdag 12 oktober 2010

Page 58: Integrating symfony and Zend Framework (IPC 2010)

Recycle

dinsdag 12 oktober 2010

Page 59: Integrating symfony and Zend Framework (IPC 2010)

Recycle

• Abstract into plugins

• Plugins are PEAR packages

• symfony CLI can install plugins easily

• Many ZF-based plugins already available

dinsdag 12 oktober 2010

Page 60: Integrating symfony and Zend Framework (IPC 2010)

Recycle

dinsdag 12 oktober 2010

Page 61: Integrating symfony and Zend Framework (IPC 2010)

Recycle

• Zend_Mail

• Zend_OpenId

• Zend_Cache

• Zend_Search_Lucene

dinsdag 12 oktober 2010

Page 62: Integrating symfony and Zend Framework (IPC 2010)

symfony in Zend Framework projects

dinsdag 12 oktober 2010

Page 63: Integrating symfony and Zend Framework (IPC 2010)

Wait, huh?

dinsdag 12 oktober 2010

Page 64: Integrating symfony and Zend Framework (IPC 2010)

Wait, huh?

• symfony (full stack framework)

dinsdag 12 oktober 2010

Page 65: Integrating symfony and Zend Framework (IPC 2010)

Wait, huh?

• symfony (full stack framework)

• symfony components

dinsdag 12 oktober 2010

Page 66: Integrating symfony and Zend Framework (IPC 2010)

Introducing Symfony Components

dinsdag 12 oktober 2010

Page 67: Integrating symfony and Zend Framework (IPC 2010)

Introducing Symfony Components

• completely decoupled components

dinsdag 12 oktober 2010

Page 68: Integrating symfony and Zend Framework (IPC 2010)

Introducing Symfony Components

• completely decoupled components

• initial work for symfony 1.1

dinsdag 12 oktober 2010

Page 69: Integrating symfony and Zend Framework (IPC 2010)

Introducing Symfony Components

• completely decoupled components

• initial work for symfony 1.1

• now available as seperate libraries

dinsdag 12 oktober 2010

Page 70: Integrating symfony and Zend Framework (IPC 2010)

Getting set updinsdag 12 oktober 2010

Page 71: Integrating symfony and Zend Framework (IPC 2010)

YAML

dinsdag 12 oktober 2010

Page 72: Integrating symfony and Zend Framework (IPC 2010)

YAML

• Yaml library

dinsdag 12 oktober 2010

Page 73: Integrating symfony and Zend Framework (IPC 2010)

YAML

• Yaml library

• Yaml to PHP arrays

dinsdag 12 oktober 2010

Page 74: Integrating symfony and Zend Framework (IPC 2010)

YAML

• Yaml library

• Yaml to PHP arrays

• PHP arrays to Yaml

dinsdag 12 oktober 2010

Page 75: Integrating symfony and Zend Framework (IPC 2010)

YAML

• Yaml library

• Yaml to PHP arrays

• PHP arrays to Yaml

• Advanced errors

dinsdag 12 oktober 2010

Page 76: Integrating symfony and Zend Framework (IPC 2010)

YAMLdinsdag 12 oktober 2010

Page 77: Integrating symfony and Zend Framework (IPC 2010)

YAMLdinsdag 12 oktober 2010

Page 78: Integrating symfony and Zend Framework (IPC 2010)

Event Dispatcher

dinsdag 12 oktober 2010

Page 79: Integrating symfony and Zend Framework (IPC 2010)

Event Dispatcher

• Observer design pattern

dinsdag 12 oktober 2010

Page 80: Integrating symfony and Zend Framework (IPC 2010)

Event Dispatcher

• Observer design pattern

• Create events

dinsdag 12 oktober 2010

Page 81: Integrating symfony and Zend Framework (IPC 2010)

Event Dispatcher

• Observer design pattern

• Create events

• Register actions

dinsdag 12 oktober 2010

Page 82: Integrating symfony and Zend Framework (IPC 2010)

Event Dispatcher

• Observer design pattern

• Create events

• Register actions

• Actions get triggered

dinsdag 12 oktober 2010

Page 83: Integrating symfony and Zend Framework (IPC 2010)

Event Dispatcher

bootstrap code based on http://www.survivethedeepend.com/

dinsdag 12 oktober 2010

Page 84: Integrating symfony and Zend Framework (IPC 2010)

Event Dispatcherdinsdag 12 oktober 2010

Page 85: Integrating symfony and Zend Framework (IPC 2010)

Dependency Injection

dinsdag 12 oktober 2010

Page 86: Integrating symfony and Zend Framework (IPC 2010)

Dependency Injection

• Dependency Injection container

dinsdag 12 oktober 2010

Page 87: Integrating symfony and Zend Framework (IPC 2010)

Dependency Injection

• Dependency Injection container

• Based on Spring framework

dinsdag 12 oktober 2010

Page 88: Integrating symfony and Zend Framework (IPC 2010)

Dependency Injection

• Dependency Injection container

• Based on Spring framework

• Can contain and instantiate objects

dinsdag 12 oktober 2010

Page 89: Integrating symfony and Zend Framework (IPC 2010)

Dependency Injection

• “Old” way of doing things

• Hardcoded instantiations

dinsdag 12 oktober 2010

Page 90: Integrating symfony and Zend Framework (IPC 2010)

Dependency Injection

• Remove hardcoded dependencies

• Pass dependencies via parameters (or constructor)

dinsdag 12 oktober 2010

Page 91: Integrating symfony and Zend Framework (IPC 2010)

Dependency Injection

• Remove hardcoded dependencies

• Pass dependencies via parameters (or constructor)

dinsdag 12 oktober 2010

Page 92: Integrating symfony and Zend Framework (IPC 2010)

Dependency Injectiondinsdag 12 oktober 2010

Page 93: Integrating symfony and Zend Framework (IPC 2010)

Templating

dinsdag 12 oktober 2010

Page 94: Integrating symfony and Zend Framework (IPC 2010)

Templating

• Common templating options

dinsdag 12 oktober 2010

Page 95: Integrating symfony and Zend Framework (IPC 2010)

Templating

• Common templating options

• Object Oriented approach to views

dinsdag 12 oktober 2010

Page 96: Integrating symfony and Zend Framework (IPC 2010)

Templating

• Common templating options

• Object Oriented approach to views

• Helpers, Template autoloading, rendering

dinsdag 12 oktober 2010

Page 97: Integrating symfony and Zend Framework (IPC 2010)

Output Escaper

• Automatic XSS protection

• Strings, arrays, objects

• in Symfony2

dinsdag 12 oktober 2010

Page 98: Integrating symfony and Zend Framework (IPC 2010)

More ...

dinsdag 12 oktober 2010

Page 99: Integrating symfony and Zend Framework (IPC 2010)

More ...

• There is much more in Symfony2

dinsdag 12 oktober 2010

Page 100: Integrating symfony and Zend Framework (IPC 2010)

More ...

• There is much more in Symfony2

• CssSelector

dinsdag 12 oktober 2010

Page 101: Integrating symfony and Zend Framework (IPC 2010)

More ...

• There is much more in Symfony2

• CssSelector

• DomCrawler

dinsdag 12 oktober 2010

Page 102: Integrating symfony and Zend Framework (IPC 2010)

More ...

• There is much more in Symfony2

• CssSelector

• DomCrawler

• Form

dinsdag 12 oktober 2010

Page 103: Integrating symfony and Zend Framework (IPC 2010)

Integration

• No need to limit yourself

• Pick the right base

• Use external resources

dinsdag 12 oktober 2010

Page 104: Integrating symfony and Zend Framework (IPC 2010)

Component Frameworks

• Zend Framework

• Symfony Components

• Zeta Components

• PEAR

• Prado

• Solar

• many more ...

dinsdag 12 oktober 2010

Page 105: Integrating symfony and Zend Framework (IPC 2010)

Questions?

dinsdag 12 oktober 2010

Page 106: Integrating symfony and Zend Framework (IPC 2010)

• http://www.leftontheweb.com/

• http://www.stefankoopmanschap.com/

• http://twitter.com/skoop

• http://slideshare.net/skoop

• http://joind.in/talk/view/2199

dinsdag 12 oktober 2010