Integrating
                          symfony and Zend Framework

                          International PHP Conference, ...
Welcome




dinsdag 12 oktober 2010
Welcome


               • About frameworks




dinsdag 12 oktober 2010
Welcome


               • About frameworks
               • Zend Framework in symfony projects



dinsdag 12 oktober 2010
Welcome


               • About frameworks
               • Zend Framework in symfony projects
               • symfony i...
About me




dinsdag 12 oktober 2010
About me

               • Stefan Koopmanschap




dinsdag 12 oktober 2010
About me

               • Stefan Koopmanschap
               • Developer/Consultant/Trainer




dinsdag 12 oktober 2010
About me

               • Stefan Koopmanschap
               • Developer/Consultant/Trainer
               • symfony Comm...
About me

               • Stefan Koopmanschap
               • Developer/Consultant/Trainer
               • symfony Comm...
About me

               • Stefan Koopmanschap
               • Developer/Consultant/Trainer
               • symfony Comm...
dinsdag 12 oktober 2010
Who uses...




dinsdag 12 oktober 2010
Who uses...
               • a PHP framework?




dinsdag 12 oktober 2010
Who uses...
               • a PHP framework?
               • an open source PHP framework?




dinsdag 12 oktober 2010
Who uses...
               • a PHP framework?
               • an open source PHP framework?
               • symfony?



...
Who uses...
               • a PHP framework?
               • an open source PHP framework?
               • symfony?
   ...
Who uses...
               • a PHP framework?
               • an open source PHP framework?
               • symfony?
   ...
Frameworks




dinsdag 12 oktober 2010
Frameworks


               • Why?




dinsdag 12 oktober 2010
Frameworks


               • Why?
               • Which?



dinsdag 12 oktober 2010
symfony
dinsdag 12 oktober 2010
Zend Framework
dinsdag 12 oktober 2010
integrate
dinsdag 12 oktober 2010
Zend Framework in
                       symfony projects


dinsdag 12 oktober 2010
Getting set up




dinsdag 12 oktober 2010
Getting set up




dinsdag 12 oktober 2010
dinsdag 12 oktober 2010
dinsdag 12 oktober 2010
dinsdag 12 oktober 2010
Last.fm



dinsdag 12 oktober 2010
Show my friends



dinsdag 12 oktober 2010
dinsdag 12 oktober 2010
dinsdag 12 oktober 2010
dinsdag 12 oktober 2010
Search



dinsdag 12 oktober 2010
Search




dinsdag 12 oktober 2010
Search


               • index my posts




dinsdag 12 oktober 2010
Search


               • index my posts
               • provide search option



dinsdag 12 oktober 2010
Zend Search Lucene



dinsdag 12 oktober 2010
Index
dinsdag 12 oktober 2010
Index
dinsdag 12 oktober 2010
Index
dinsdag 12 oktober 2010
Index
dinsdag 12 oktober 2010
Index
dinsdag 12 oktober 2010
Search
dinsdag 12 oktober 2010
Search
dinsdag 12 oktober 2010
Search
dinsdag 12 oktober 2010
Search
dinsdag 12 oktober 2010
Search
dinsdag 12 oktober 2010
Search
dinsdag 12 oktober 2010
SOAP



dinsdag 12 oktober 2010
SOAP




dinsdag 12 oktober 2010
SOAP


               • No full dispatch




dinsdag 12 oktober 2010
SOAP


               • No full dispatch
               • Expose class/object methods



dinsdag 12 oktober 2010
SOAP


               • No full dispatch
               • Expose class/object methods
               • Use configuration an...
dinsdag 12 oktober 2010
Recycle



dinsdag 12 oktober 2010
Recycle

               • Abstract into plugins
               • Plugins are PEAR packages
               • symfony CLI ca...
Recycle




dinsdag 12 oktober 2010
Recycle

               • Zend_Mail
               • Zend_OpenId
               • Zend_Cache
               • Zend_Search_...
symfony in Zend
                      Framework projects


dinsdag 12 oktober 2010
Wait, huh?




dinsdag 12 oktober 2010
Wait, huh?


               • symfony (full stack framework)




dinsdag 12 oktober 2010
Wait, huh?


               • symfony (full stack framework)
               • symfony components



dinsdag 12 oktober 2010
Introducing Symfony Components




dinsdag 12 oktober 2010
Introducing Symfony Components




               • completely decoupled components




dinsdag 12 oktober 2010
Introducing Symfony Components




               • completely decoupled components
               • initial work for symf...
Introducing Symfony Components




               • completely decoupled components
               • initial work for symf...
Getting set up
dinsdag 12 oktober 2010
YAML




dinsdag 12 oktober 2010
YAML

               •     Yaml library




dinsdag 12 oktober 2010
YAML

               •     Yaml library

               •     Yaml to PHP arrays




dinsdag 12 oktober 2010
YAML

               •     Yaml library

               •     Yaml to PHP arrays

               •     PHP arrays to Yaml
...
YAML

               •     Yaml library

               •     Yaml to PHP arrays

               •     PHP arrays to Yaml
...
YAML
dinsdag 12 oktober 2010
YAML
dinsdag 12 oktober 2010
Event Dispatcher




dinsdag 12 oktober 2010
Event Dispatcher

               •     Observer design pattern




dinsdag 12 oktober 2010
Event Dispatcher

               •     Observer design pattern

               •     Create events




dinsdag 12 oktober ...
Event Dispatcher

               •     Observer design pattern

               •     Create events

               •     R...
Event Dispatcher

               •     Observer design pattern

               •     Create events

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




                          Event Dispatcher
dinsdag 12 oktobe...
Event Dispatcher
dinsdag 12 oktober 2010
Dependency Injection




dinsdag 12 oktober 2010
Dependency Injection

               •     Dependency Injection
                     container




dinsdag 12 oktober 2010
Dependency Injection

               •     Dependency Injection
                     container

               •     Based...
Dependency Injection

               •     Dependency Injection
                     container

               •     Based...
Dependency Injection


               •     “Old” way of doing things

               •     Hardcoded instantiations




d...
Dependency Injection

               •     Remove hardcoded
                     dependencies

               •     Pass d...
Dependency Injection

               •     Remove hardcoded
                     dependencies

               •     Pass d...
Dependency Injection
dinsdag 12 oktober 2010
Templating




dinsdag 12 oktober 2010
Templating

               •     Common templating
                     options




dinsdag 12 oktober 2010
Templating

               •     Common templating
                     options

               •     Object Oriented
    ...
Templating

               •     Common templating
                     options

               •     Object Oriented
    ...
Output Escaper

               •     Automatic XSS
                     protection

               •     Strings, arrays, ...
More ...




dinsdag 12 oktober 2010
More ...

               •     There is much more in
                     Symfony2




dinsdag 12 oktober 2010
More ...

               •     There is much more in
                     Symfony2

                    •     CssSelector
...
More ...

               •     There is much more in
                     Symfony2

                    •     CssSelector
...
More ...

               •     There is much more in
                     Symfony2

                    •     CssSelector
...
Integration


               • No need to limit yourself
               • Pick the right base
               • Use externa...
Component Frameworks
               • Zend Framework
               • Symfony Components
               • Zeta Components
...
Questions?



dinsdag 12 oktober 2010
• http://www.leftontheweb.com/
               • http://www.stefankoopmanschap.com/
               • http://twitter.com/sko...
Upcoming SlideShare
Loading in …5
×

Integrating symfony and Zend Framework (IPC 2010)

8,855 views

Published on

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

Published in: Technology
  • Be the first to comment

Integrating symfony and Zend Framework (IPC 2010)

  1. Integrating symfony and Zend Framework International PHP Conference, 12-10-2010 dinsdag 12 oktober 2010
  2. Welcome dinsdag 12 oktober 2010
  3. Welcome • About frameworks dinsdag 12 oktober 2010
  4. Welcome • About frameworks • Zend Framework in symfony projects dinsdag 12 oktober 2010
  5. Welcome • About frameworks • Zend Framework in symfony projects • symfony in Zend Framework projects dinsdag 12 oktober 2010
  6. About me dinsdag 12 oktober 2010
  7. About me • Stefan Koopmanschap dinsdag 12 oktober 2010
  8. About me • Stefan Koopmanschap • Developer/Consultant/Trainer dinsdag 12 oktober 2010
  9. About me • Stefan Koopmanschap • Developer/Consultant/Trainer • symfony Community Manager dinsdag 12 oktober 2010
  10. About me • Stefan Koopmanschap • Developer/Consultant/Trainer • symfony Community Manager • Zend Framework Contributor dinsdag 12 oktober 2010
  11. About me • Stefan Koopmanschap • Developer/Consultant/Trainer • symfony Community Manager • Zend Framework Contributor • PHPBenelux secretary dinsdag 12 oktober 2010
  12. dinsdag 12 oktober 2010
  13. Who uses... dinsdag 12 oktober 2010
  14. Who uses... • a PHP framework? dinsdag 12 oktober 2010
  15. Who uses... • a PHP framework? • an open source PHP framework? dinsdag 12 oktober 2010
  16. Who uses... • a PHP framework? • an open source PHP framework? • symfony? dinsdag 12 oktober 2010
  17. Who uses... • a PHP framework? • an open source PHP framework? • symfony? • Zend Framework? dinsdag 12 oktober 2010
  18. 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
  19. Frameworks dinsdag 12 oktober 2010
  20. Frameworks • Why? dinsdag 12 oktober 2010
  21. Frameworks • Why? • Which? dinsdag 12 oktober 2010
  22. symfony dinsdag 12 oktober 2010
  23. Zend Framework dinsdag 12 oktober 2010
  24. integrate dinsdag 12 oktober 2010
  25. Zend Framework in symfony projects dinsdag 12 oktober 2010
  26. Getting set up dinsdag 12 oktober 2010
  27. Getting set up dinsdag 12 oktober 2010
  28. dinsdag 12 oktober 2010
  29. dinsdag 12 oktober 2010
  30. dinsdag 12 oktober 2010
  31. Last.fm dinsdag 12 oktober 2010
  32. Show my friends dinsdag 12 oktober 2010
  33. dinsdag 12 oktober 2010
  34. dinsdag 12 oktober 2010
  35. dinsdag 12 oktober 2010
  36. Search dinsdag 12 oktober 2010
  37. Search dinsdag 12 oktober 2010
  38. Search • index my posts dinsdag 12 oktober 2010
  39. Search • index my posts • provide search option dinsdag 12 oktober 2010
  40. Zend Search Lucene dinsdag 12 oktober 2010
  41. Index dinsdag 12 oktober 2010
  42. Index dinsdag 12 oktober 2010
  43. Index dinsdag 12 oktober 2010
  44. Index dinsdag 12 oktober 2010
  45. Index dinsdag 12 oktober 2010
  46. Search dinsdag 12 oktober 2010
  47. Search dinsdag 12 oktober 2010
  48. Search dinsdag 12 oktober 2010
  49. Search dinsdag 12 oktober 2010
  50. Search dinsdag 12 oktober 2010
  51. Search dinsdag 12 oktober 2010
  52. SOAP dinsdag 12 oktober 2010
  53. SOAP dinsdag 12 oktober 2010
  54. SOAP • No full dispatch dinsdag 12 oktober 2010
  55. SOAP • No full dispatch • Expose class/object methods dinsdag 12 oktober 2010
  56. SOAP • No full dispatch • Expose class/object methods • Use configuration and autoloading dinsdag 12 oktober 2010
  57. dinsdag 12 oktober 2010
  58. Recycle dinsdag 12 oktober 2010
  59. Recycle • Abstract into plugins • Plugins are PEAR packages • symfony CLI can install plugins easily • Many ZF-based plugins already available dinsdag 12 oktober 2010
  60. Recycle dinsdag 12 oktober 2010
  61. Recycle • Zend_Mail • Zend_OpenId • Zend_Cache • Zend_Search_Lucene dinsdag 12 oktober 2010
  62. symfony in Zend Framework projects dinsdag 12 oktober 2010
  63. Wait, huh? dinsdag 12 oktober 2010
  64. Wait, huh? • symfony (full stack framework) dinsdag 12 oktober 2010
  65. Wait, huh? • symfony (full stack framework) • symfony components dinsdag 12 oktober 2010
  66. Introducing Symfony Components dinsdag 12 oktober 2010
  67. Introducing Symfony Components • completely decoupled components dinsdag 12 oktober 2010
  68. Introducing Symfony Components • completely decoupled components • initial work for symfony 1.1 dinsdag 12 oktober 2010
  69. Introducing Symfony Components • completely decoupled components • initial work for symfony 1.1 • now available as seperate libraries dinsdag 12 oktober 2010
  70. Getting set up dinsdag 12 oktober 2010
  71. YAML dinsdag 12 oktober 2010
  72. YAML • Yaml library dinsdag 12 oktober 2010
  73. YAML • Yaml library • Yaml to PHP arrays dinsdag 12 oktober 2010
  74. YAML • Yaml library • Yaml to PHP arrays • PHP arrays to Yaml dinsdag 12 oktober 2010
  75. YAML • Yaml library • Yaml to PHP arrays • PHP arrays to Yaml • Advanced errors dinsdag 12 oktober 2010
  76. YAML dinsdag 12 oktober 2010
  77. YAML dinsdag 12 oktober 2010
  78. Event Dispatcher dinsdag 12 oktober 2010
  79. Event Dispatcher • Observer design pattern dinsdag 12 oktober 2010
  80. Event Dispatcher • Observer design pattern • Create events dinsdag 12 oktober 2010
  81. Event Dispatcher • Observer design pattern • Create events • Register actions dinsdag 12 oktober 2010
  82. Event Dispatcher • Observer design pattern • Create events • Register actions • Actions get triggered dinsdag 12 oktober 2010
  83. bootstrap code based on http://www.survivethedeepend.com/ Event Dispatcher dinsdag 12 oktober 2010
  84. Event Dispatcher dinsdag 12 oktober 2010
  85. Dependency Injection dinsdag 12 oktober 2010
  86. Dependency Injection • Dependency Injection container dinsdag 12 oktober 2010
  87. Dependency Injection • Dependency Injection container • Based on Spring framework dinsdag 12 oktober 2010
  88. Dependency Injection • Dependency Injection container • Based on Spring framework • Can contain and instantiate objects dinsdag 12 oktober 2010
  89. Dependency Injection • “Old” way of doing things • Hardcoded instantiations dinsdag 12 oktober 2010
  90. Dependency Injection • Remove hardcoded dependencies • Pass dependencies via parameters (or constructor) dinsdag 12 oktober 2010
  91. Dependency Injection • Remove hardcoded dependencies • Pass dependencies via parameters (or constructor) dinsdag 12 oktober 2010
  92. Dependency Injection dinsdag 12 oktober 2010
  93. Templating dinsdag 12 oktober 2010
  94. Templating • Common templating options dinsdag 12 oktober 2010
  95. Templating • Common templating options • Object Oriented approach to views dinsdag 12 oktober 2010
  96. Templating • Common templating options • Object Oriented approach to views • Helpers, Template autoloading, rendering dinsdag 12 oktober 2010
  97. Output Escaper • Automatic XSS protection • Strings, arrays, objects • in Symfony2 dinsdag 12 oktober 2010
  98. More ... dinsdag 12 oktober 2010
  99. More ... • There is much more in Symfony2 dinsdag 12 oktober 2010
  100. More ... • There is much more in Symfony2 • CssSelector dinsdag 12 oktober 2010
  101. More ... • There is much more in Symfony2 • CssSelector • DomCrawler dinsdag 12 oktober 2010
  102. More ... • There is much more in Symfony2 • CssSelector • DomCrawler • Form dinsdag 12 oktober 2010
  103. Integration • No need to limit yourself • Pick the right base • Use external resources dinsdag 12 oktober 2010
  104. Component Frameworks • Zend Framework • Symfony Components • Zeta Components • PEAR • Prado • Solar • many more ... dinsdag 12 oktober 2010
  105. Questions? dinsdag 12 oktober 2010
  106. • 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

×