integrating symfony and zend framework (ipc 2010)

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

Upload: stefan-koopmanschap

Post on 14-Dec-2014

2.203 views

Category:

Technology


1 download

DESCRIPTION

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

TRANSCRIPT

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