SlideShare a Scribd company logo
Integrating symfony  and Zend Framewor  PHPBarcelona, 30-10-2009
Welcome About frameworks Zend Framework in symfony projects symfony in Zend Framework projects
About me Stefan Koopmanschap symfony Community Manager Zend Framework Contributor
Who uses... a PHP framework? an open source PHP framework? symfony? Zend Framework? More than one framework in the same project?
Frameworks Why? Which?
symfony
Zend Framework
integrate
Zend Framework in symfony projects
Getting set up
Getting set up
A quick Twitter call away Blog application New way of commenting: via Twitter No sfTwitter class But wait, there is Zend_Service_Twitter
Send comment
Send comment
Send comment
Comment
Show comments
Show comments
Show comments
Search
Search index my posts provide search option
Zend Search Lucene
Index
Index
Index
Index
Index
Search
Search
Search
Search
Recycle Abstract into plugins Plugins are PEAR packages symfony CLI can install plugins easily Many ZF-based plugins already available
Recycle Zend_Mail Zend_OpenId Zend_Cache Zend_Search_Lucene
symfony in Zend Framework projects
Wait, huh? symfony (full stack framework) symfony components
Introducing Symfony Components completely decoupled components initial work for symfony 1.1 now available as seperate libraries
Getting set up
YAML Yaml library Yaml to PHP arrays PHP arrays to Yaml Advanced errors
YAML
YAML
Event Dispatcher Observer design pattern Create events Register actions Actions get triggered
Event Dispatcher bootstrap code based on  http://www.survivethedeepend.com /
Event Dispatcher
Dependency Injection Dependency Injection container Based on Spring framework Can contain and instantiate objects
Dependency Injection “ Old” way of doing things Hardcoded instantiations
Dependency Injection Remove hardcoded dependencies Pass dependencies via parameters (or constructor)
Dependency Injection
Templating Common templating options Object Oriented approach to views Helpers, Template autoloading, rendering
Output Escaper Automatic XSS protection Strings, arrays, objects Coming soon...
Request Handler coming soon
More ... There is much more in the symfony stack
About integration
Integration No need to limit yourself Pick the right base Use external resources
Component Frameworks Zend Framework Symfony Components ezComponents PEAR Prado Solar many more ...
Questions?
http://www.leftontheweb.com/ http://twitter.com/skoop http://slideshare.net/skoop
Ad

Recommended

Myphp-busters: symfony framework
Myphp-busters: symfony framework
Stefan Koopmanschap
 
Myphp-busters: symfony framework (PHPCon.it)
Myphp-busters: symfony framework (PHPCon.it)
Stefan Koopmanschap
 
Myphp-busters: symfony framework (php|tek 09)
Myphp-busters: symfony framework (php|tek 09)
Stefan Koopmanschap
 
The Power of Refactoring
The Power of Refactoring
Stefan Koopmanschap
 
Integrating symfony and Zend Framework
Integrating symfony and Zend Framework
Stefan Koopmanschap
 
The Power Of Refactoring (PHPNW)
The Power Of Refactoring (PHPNW)
Stefan Koopmanschap
 
CakePHP - The Path to 2.0
CakePHP - The Path to 2.0
Graham Weldon
 
CakePHP 2.0 - PHP Matsuri 2011
CakePHP 2.0 - PHP Matsuri 2011
Graham Weldon
 
PHP 5.4 - Begin your love affair with traits
PHP 5.4 - Begin your love affair with traits
Graham Weldon
 
Re-imaginging CakePHP
Re-imaginging CakePHP
Graham Weldon
 
SydPHP March 2012 Meetup
SydPHP March 2012 Meetup
Graham Weldon
 
Nice performance using Sf2 cache wrapping Sf1 application - Paris
Nice performance using Sf2 cache wrapping Sf1 application - Paris
Marc Weistroff
 
Are you new to Apache Camel
Are you new to Apache Camel
gnanagurus
 
An introduction to Titanium
An introduction to Titanium
Graham Weldon
 
Feltman js4 vfp
Feltman js4 vfp
Mike Feltman
 
CC-Castle; The best Real-Time/Embedded/HighTech language EVER?
CC-Castle; The best Real-Time/Embedded/HighTech language EVER?
Albert Mietus
 
2019 PHP Serbia - Boosting your performance with Blackfire
2019 PHP Serbia - Boosting your performance with Blackfire
Marko Mitranić
 
WebSocket For Web Rubyists
WebSocket For Web Rubyists
Mu-Fan Teng
 
Composing Project Dependencies
Composing Project Dependencies
Derek Gallo
 
Conscious Coupling
Conscious Coupling
CiaranMcNulty
 
Clean Code with Java 8 - Functional Patterns and Best Practices
Clean Code with Java 8 - Functional Patterns and Best Practices
Victor Rentea
 
Real-time Ruby for the Real-time Web
Real-time Ruby for the Real-time Web
Ilya Grigorik
 
Domain Driven Development applied
Domain Driven Development applied
Eloi Poch
 
WebAssemlby vs JavaScript
WebAssemlby vs JavaScript
Alexandr Skachkov
 
Coldfusion
Coldfusion
Ram
 
Onivim: Modal Editing from the Future
Onivim: Modal Editing from the Future
Bryan Phelps
 
Dev evening - MonoTouch, MonoDroid, Mvvm MvvmCross and databinding
Dev evening - MonoTouch, MonoDroid, Mvvm MvvmCross and databinding
Stuart Lodge
 
Erjang
Erjang
Jéferson Machado
 
Integrating symfony and Zend Framework (PHPNW09)
Integrating symfony and Zend Framework (PHPNW09)
Stefan Koopmanschap
 
Symfony Components in the wild
Symfony Components in the wild
PHPLondon
 

More Related Content

What's hot (20)

PHP 5.4 - Begin your love affair with traits
PHP 5.4 - Begin your love affair with traits
Graham Weldon
 
Re-imaginging CakePHP
Re-imaginging CakePHP
Graham Weldon
 
SydPHP March 2012 Meetup
SydPHP March 2012 Meetup
Graham Weldon
 
Nice performance using Sf2 cache wrapping Sf1 application - Paris
Nice performance using Sf2 cache wrapping Sf1 application - Paris
Marc Weistroff
 
Are you new to Apache Camel
Are you new to Apache Camel
gnanagurus
 
An introduction to Titanium
An introduction to Titanium
Graham Weldon
 
Feltman js4 vfp
Feltman js4 vfp
Mike Feltman
 
CC-Castle; The best Real-Time/Embedded/HighTech language EVER?
CC-Castle; The best Real-Time/Embedded/HighTech language EVER?
Albert Mietus
 
2019 PHP Serbia - Boosting your performance with Blackfire
2019 PHP Serbia - Boosting your performance with Blackfire
Marko Mitranić
 
WebSocket For Web Rubyists
WebSocket For Web Rubyists
Mu-Fan Teng
 
Composing Project Dependencies
Composing Project Dependencies
Derek Gallo
 
Conscious Coupling
Conscious Coupling
CiaranMcNulty
 
Clean Code with Java 8 - Functional Patterns and Best Practices
Clean Code with Java 8 - Functional Patterns and Best Practices
Victor Rentea
 
Real-time Ruby for the Real-time Web
Real-time Ruby for the Real-time Web
Ilya Grigorik
 
Domain Driven Development applied
Domain Driven Development applied
Eloi Poch
 
WebAssemlby vs JavaScript
WebAssemlby vs JavaScript
Alexandr Skachkov
 
Coldfusion
Coldfusion
Ram
 
Onivim: Modal Editing from the Future
Onivim: Modal Editing from the Future
Bryan Phelps
 
Dev evening - MonoTouch, MonoDroid, Mvvm MvvmCross and databinding
Dev evening - MonoTouch, MonoDroid, Mvvm MvvmCross and databinding
Stuart Lodge
 
Erjang
Erjang
Jéferson Machado
 
PHP 5.4 - Begin your love affair with traits
PHP 5.4 - Begin your love affair with traits
Graham Weldon
 
Re-imaginging CakePHP
Re-imaginging CakePHP
Graham Weldon
 
SydPHP March 2012 Meetup
SydPHP March 2012 Meetup
Graham Weldon
 
Nice performance using Sf2 cache wrapping Sf1 application - Paris
Nice performance using Sf2 cache wrapping Sf1 application - Paris
Marc Weistroff
 
Are you new to Apache Camel
Are you new to Apache Camel
gnanagurus
 
An introduction to Titanium
An introduction to Titanium
Graham Weldon
 
CC-Castle; The best Real-Time/Embedded/HighTech language EVER?
CC-Castle; The best Real-Time/Embedded/HighTech language EVER?
Albert Mietus
 
2019 PHP Serbia - Boosting your performance with Blackfire
2019 PHP Serbia - Boosting your performance with Blackfire
Marko Mitranić
 
WebSocket For Web Rubyists
WebSocket For Web Rubyists
Mu-Fan Teng
 
Composing Project Dependencies
Composing Project Dependencies
Derek Gallo
 
Clean Code with Java 8 - Functional Patterns and Best Practices
Clean Code with Java 8 - Functional Patterns and Best Practices
Victor Rentea
 
Real-time Ruby for the Real-time Web
Real-time Ruby for the Real-time Web
Ilya Grigorik
 
Domain Driven Development applied
Domain Driven Development applied
Eloi Poch
 
Coldfusion
Coldfusion
Ram
 
Onivim: Modal Editing from the Future
Onivim: Modal Editing from the Future
Bryan Phelps
 
Dev evening - MonoTouch, MonoDroid, Mvvm MvvmCross and databinding
Dev evening - MonoTouch, MonoDroid, Mvvm MvvmCross and databinding
Stuart Lodge
 

Similar to Integrating symfony and Zend Framework (PHPBarcelona 2009) (20)

Integrating symfony and Zend Framework (PHPNW09)
Integrating symfony and Zend Framework (PHPNW09)
Stefan Koopmanschap
 
Symfony Components in the wild
Symfony Components in the wild
PHPLondon
 
Symfony State Of The Union, March 2010
Symfony State Of The Union, March 2010
Damien Filiatrault
 
Create Your Own Framework by Fabien Potencier
Create Your Own Framework by Fabien Potencier
Himel Nag Rana
 
Symfony Components 2.0 on PHP 5.3
Symfony Components 2.0 on PHP 5.3
Fabien Potencier
 
How Symfony Changed My Life
How Symfony Changed My Life
Matthias Noback
 
An introduction to Symfony 2 for symfony 1 developers
An introduction to Symfony 2 for symfony 1 developers
Giorgio Cefaro
 
Symfony Internals
Symfony Internals
Geoffrey Bachelet
 
How Symfony changed my life (#SfPot, Paris, 19th November 2015)
How Symfony changed my life (#SfPot, Paris, 19th November 2015)
Matthias Noback
 
Symfony 3.4
Symfony 3.4
Srikanth Mattihalli
 
first pitch
first pitch
alind tiwari
 
werwr
werwr
alind tiwari
 
first pitch
first pitch
alind tiwari
 
Greenathan
Greenathan
alind tiwari
 
Unit Test for ZF SlideShare Component
Unit Test for ZF SlideShare Component
zftalk
 
sadasd
sadasd
alind tiwari
 
before upload
before upload
alind tiwari
 
sdfsdf
sdfsdf
alind tiwari
 
Unit Test for ZF SlideShare Component
Unit Test for ZF SlideShare Component
zftalk
 
before upload
before upload
alind tiwari
 
Integrating symfony and Zend Framework (PHPNW09)
Integrating symfony and Zend Framework (PHPNW09)
Stefan Koopmanschap
 
Symfony Components in the wild
Symfony Components in the wild
PHPLondon
 
Symfony State Of The Union, March 2010
Symfony State Of The Union, March 2010
Damien Filiatrault
 
Create Your Own Framework by Fabien Potencier
Create Your Own Framework by Fabien Potencier
Himel Nag Rana
 
Symfony Components 2.0 on PHP 5.3
Symfony Components 2.0 on PHP 5.3
Fabien Potencier
 
How Symfony Changed My Life
How Symfony Changed My Life
Matthias Noback
 
An introduction to Symfony 2 for symfony 1 developers
An introduction to Symfony 2 for symfony 1 developers
Giorgio Cefaro
 
How Symfony changed my life (#SfPot, Paris, 19th November 2015)
How Symfony changed my life (#SfPot, Paris, 19th November 2015)
Matthias Noback
 
Unit Test for ZF SlideShare Component
Unit Test for ZF SlideShare Component
zftalk
 
Unit Test for ZF SlideShare Component
Unit Test for ZF SlideShare Component
zftalk
 
Ad

More from Stefan Koopmanschap (20)

A Practical Look At Symfony2
A Practical Look At Symfony2
Stefan Koopmanschap
 
Git for Subversion Users (ZendCon 2011)
Git for Subversion Users (ZendCon 2011)
Stefan Koopmanschap
 
A Practical Look at Symfony2 (PHPNW11)
A Practical Look at Symfony2 (PHPNW11)
Stefan Koopmanschap
 
Git For Subversion Users (PHPNW11)
Git For Subversion Users (PHPNW11)
Stefan Koopmanschap
 
Conference Speaking 101
Conference Speaking 101
Stefan Koopmanschap
 
Open Up (International PHP Conference Spring Edition 2011)
Open Up (International PHP Conference Spring Edition 2011)
Stefan Koopmanschap
 
Git for Subversion Users (phpDay 2011)
Git for Subversion Users (phpDay 2011)
Stefan Koopmanschap
 
Would you like docs with that? - Zend Webinar
Would you like docs with that? - Zend Webinar
Stefan Koopmanschap
 
Git workshop (2value, 14-12-2010)
Git workshop (2value, 14-12-2010)
Stefan Koopmanschap
 
Git Workshop (Pfz Workshopdag)
Git Workshop (Pfz Workshopdag)
Stefan Koopmanschap
 
Would you like docs with that? (IPC 2010)
Would you like docs with that? (IPC 2010)
Stefan Koopmanschap
 
Would you like docs with that? (IPC 2010)
Would you like docs with that? (IPC 2010)
Stefan Koopmanschap
 
Integrating symfony and Zend Framework (IPC 2010)
Integrating symfony and Zend Framework (IPC 2010)
Stefan Koopmanschap
 
symfony 1.4 workshop
symfony 1.4 workshop
Stefan Koopmanschap
 
Would you like docs with that? (Pfcongres 2010)
Would you like docs with that? (Pfcongres 2010)
Stefan Koopmanschap
 
The Symfony Community - How to (get) help
The Symfony Community - How to (get) help
Stefan Koopmanschap
 
Scrum (dutch)
Scrum (dutch)
Stefan Koopmanschap
 
5 essential tools for the PHP Developer on Windows
5 essential tools for the PHP Developer on Windows
Stefan Koopmanschap
 
The Power Of Refactoring (php|tek 09)
The Power Of Refactoring (php|tek 09)
Stefan Koopmanschap
 
The Power Of Refactoring (PHPCon Italia)
The Power Of Refactoring (PHPCon Italia)
Stefan Koopmanschap
 
Git for Subversion Users (ZendCon 2011)
Git for Subversion Users (ZendCon 2011)
Stefan Koopmanschap
 
A Practical Look at Symfony2 (PHPNW11)
A Practical Look at Symfony2 (PHPNW11)
Stefan Koopmanschap
 
Git For Subversion Users (PHPNW11)
Git For Subversion Users (PHPNW11)
Stefan Koopmanschap
 
Open Up (International PHP Conference Spring Edition 2011)
Open Up (International PHP Conference Spring Edition 2011)
Stefan Koopmanschap
 
Git for Subversion Users (phpDay 2011)
Git for Subversion Users (phpDay 2011)
Stefan Koopmanschap
 
Would you like docs with that? - Zend Webinar
Would you like docs with that? - Zend Webinar
Stefan Koopmanschap
 
Git workshop (2value, 14-12-2010)
Git workshop (2value, 14-12-2010)
Stefan Koopmanschap
 
Would you like docs with that? (IPC 2010)
Would you like docs with that? (IPC 2010)
Stefan Koopmanschap
 
Would you like docs with that? (IPC 2010)
Would you like docs with that? (IPC 2010)
Stefan Koopmanschap
 
Integrating symfony and Zend Framework (IPC 2010)
Integrating symfony and Zend Framework (IPC 2010)
Stefan Koopmanschap
 
Would you like docs with that? (Pfcongres 2010)
Would you like docs with that? (Pfcongres 2010)
Stefan Koopmanschap
 
The Symfony Community - How to (get) help
The Symfony Community - How to (get) help
Stefan Koopmanschap
 
5 essential tools for the PHP Developer on Windows
5 essential tools for the PHP Developer on Windows
Stefan Koopmanschap
 
The Power Of Refactoring (php|tek 09)
The Power Of Refactoring (php|tek 09)
Stefan Koopmanschap
 
The Power Of Refactoring (PHPCon Italia)
The Power Of Refactoring (PHPCon Italia)
Stefan Koopmanschap
 
Ad

Recently uploaded (20)

Connecting Data and Intelligence: The Role of FME in Machine Learning
Connecting Data and Intelligence: The Role of FME in Machine Learning
Safe Software
 
Lessons Learned from Developing Secure AI Workflows.pdf
Lessons Learned from Developing Secure AI Workflows.pdf
Priyanka Aash
 
Information Security Response Team Nepal_npCERT_Vice_President_Sudan_Jha.pdf
Information Security Response Team Nepal_npCERT_Vice_President_Sudan_Jha.pdf
ICT Frame Magazine Pvt. Ltd.
 
Improving Data Integrity: Synchronization between EAM and ArcGIS Utility Netw...
Improving Data Integrity: Synchronization between EAM and ArcGIS Utility Netw...
Safe Software
 
CapCut Pro Crack For PC Latest Version {Fully Unlocked} 2025
CapCut Pro Crack For PC Latest Version {Fully Unlocked} 2025
pcprocore
 
Securing AI - There Is No Try, Only Do!.pdf
Securing AI - There Is No Try, Only Do!.pdf
Priyanka Aash
 
Cyber Defense Matrix Workshop - RSA Conference
Cyber Defense Matrix Workshop - RSA Conference
Priyanka Aash
 
cnc-processing-centers-centateq-p-110-en.pdf
cnc-processing-centers-centateq-p-110-en.pdf
AmirStern2
 
Securing Account Lifecycles in the Age of Deepfakes.pptx
Securing Account Lifecycles in the Age of Deepfakes.pptx
FIDO Alliance
 
Tech-ASan: Two-stage check for Address Sanitizer - Yixuan Cao.pdf
Tech-ASan: Two-stage check for Address Sanitizer - Yixuan Cao.pdf
caoyixuan2019
 
Techniques for Automatic Device Identification and Network Assignment.pdf
Techniques for Automatic Device Identification and Network Assignment.pdf
Priyanka Aash
 
Smarter Aviation Data Management: Lessons from Swedavia Airports and Sweco
Smarter Aviation Data Management: Lessons from Swedavia Airports and Sweco
Safe Software
 
Python Conference Singapore - 19 Jun 2025
Python Conference Singapore - 19 Jun 2025
ninefyi
 
AI vs Human Writing: Can You Tell the Difference?
AI vs Human Writing: Can You Tell the Difference?
Shashi Sathyanarayana, Ph.D
 
FIDO Seminar: Evolving Landscape of Post-Quantum Cryptography.pptx
FIDO Seminar: Evolving Landscape of Post-Quantum Cryptography.pptx
FIDO Alliance
 
FIDO Seminar: Perspectives on Passkeys & Consumer Adoption.pptx
FIDO Seminar: Perspectives on Passkeys & Consumer Adoption.pptx
FIDO Alliance
 
10 Key Challenges for AI within the EU Data Protection Framework.pdf
10 Key Challenges for AI within the EU Data Protection Framework.pdf
Priyanka Aash
 
OpenACC and Open Hackathons Monthly Highlights June 2025
OpenACC and Open Hackathons Monthly Highlights June 2025
OpenACC
 
FIDO Alliance Seminar State of Passkeys.pptx
FIDO Alliance Seminar State of Passkeys.pptx
FIDO Alliance
 
9-1-1 Addressing: End-to-End Automation Using FME
9-1-1 Addressing: End-to-End Automation Using FME
Safe Software
 
Connecting Data and Intelligence: The Role of FME in Machine Learning
Connecting Data and Intelligence: The Role of FME in Machine Learning
Safe Software
 
Lessons Learned from Developing Secure AI Workflows.pdf
Lessons Learned from Developing Secure AI Workflows.pdf
Priyanka Aash
 
Information Security Response Team Nepal_npCERT_Vice_President_Sudan_Jha.pdf
Information Security Response Team Nepal_npCERT_Vice_President_Sudan_Jha.pdf
ICT Frame Magazine Pvt. Ltd.
 
Improving Data Integrity: Synchronization between EAM and ArcGIS Utility Netw...
Improving Data Integrity: Synchronization between EAM and ArcGIS Utility Netw...
Safe Software
 
CapCut Pro Crack For PC Latest Version {Fully Unlocked} 2025
CapCut Pro Crack For PC Latest Version {Fully Unlocked} 2025
pcprocore
 
Securing AI - There Is No Try, Only Do!.pdf
Securing AI - There Is No Try, Only Do!.pdf
Priyanka Aash
 
Cyber Defense Matrix Workshop - RSA Conference
Cyber Defense Matrix Workshop - RSA Conference
Priyanka Aash
 
cnc-processing-centers-centateq-p-110-en.pdf
cnc-processing-centers-centateq-p-110-en.pdf
AmirStern2
 
Securing Account Lifecycles in the Age of Deepfakes.pptx
Securing Account Lifecycles in the Age of Deepfakes.pptx
FIDO Alliance
 
Tech-ASan: Two-stage check for Address Sanitizer - Yixuan Cao.pdf
Tech-ASan: Two-stage check for Address Sanitizer - Yixuan Cao.pdf
caoyixuan2019
 
Techniques for Automatic Device Identification and Network Assignment.pdf
Techniques for Automatic Device Identification and Network Assignment.pdf
Priyanka Aash
 
Smarter Aviation Data Management: Lessons from Swedavia Airports and Sweco
Smarter Aviation Data Management: Lessons from Swedavia Airports and Sweco
Safe Software
 
Python Conference Singapore - 19 Jun 2025
Python Conference Singapore - 19 Jun 2025
ninefyi
 
AI vs Human Writing: Can You Tell the Difference?
AI vs Human Writing: Can You Tell the Difference?
Shashi Sathyanarayana, Ph.D
 
FIDO Seminar: Evolving Landscape of Post-Quantum Cryptography.pptx
FIDO Seminar: Evolving Landscape of Post-Quantum Cryptography.pptx
FIDO Alliance
 
FIDO Seminar: Perspectives on Passkeys & Consumer Adoption.pptx
FIDO Seminar: Perspectives on Passkeys & Consumer Adoption.pptx
FIDO Alliance
 
10 Key Challenges for AI within the EU Data Protection Framework.pdf
10 Key Challenges for AI within the EU Data Protection Framework.pdf
Priyanka Aash
 
OpenACC and Open Hackathons Monthly Highlights June 2025
OpenACC and Open Hackathons Monthly Highlights June 2025
OpenACC
 
FIDO Alliance Seminar State of Passkeys.pptx
FIDO Alliance Seminar State of Passkeys.pptx
FIDO Alliance
 
9-1-1 Addressing: End-to-End Automation Using FME
9-1-1 Addressing: End-to-End Automation Using FME
Safe Software
 

Integrating symfony and Zend Framework (PHPBarcelona 2009)