Integrating <ul><li>symfony  and Zend Framewor  </li></ul>PHPBarcelona, 30-10-2009
Welcome <ul><li>About frameworks </li></ul><ul><li>Zend Framework in symfony projects </li></ul><ul><li>symfony in Zend Fr...
About me <ul><li>Stefan Koopmanschap </li></ul><ul><li>symfony Community Manager </li></ul><ul><li>Zend Framework Contribu...
Who uses... <ul><li>a PHP framework? </li></ul><ul><li>an open source PHP framework? </li></ul><ul><li>symfony? </li></ul>...
Frameworks <ul><li>Why? </li></ul><ul><li>Which? </li></ul>
symfony
Zend Framework
integrate
Zend Framework in symfony projects
Getting set up
Getting set up
A quick Twitter call away <ul><li>Blog application </li></ul><ul><li>New way of commenting: via Twitter </li></ul><ul><li>...
Send comment
Send comment
Send comment
Comment
Show comments
Show comments
Show comments
Search
Search <ul><li>index my posts </li></ul><ul><li>provide search option </li></ul>
Zend Search Lucene
Index
Index
Index
Index
Index
Search
Search
Search
Search
Recycle <ul><li>Abstract into plugins </li></ul><ul><li>Plugins are PEAR packages </li></ul><ul><li>symfony CLI can instal...
Recycle <ul><li>Zend_Mail </li></ul><ul><li>Zend_OpenId </li></ul><ul><li>Zend_Cache </li></ul><ul><li>Zend_Search_Lucene ...
symfony in Zend Framework projects
Wait, huh? <ul><li>symfony (full stack framework) </li></ul><ul><li>symfony components </li></ul>
Introducing Symfony Components <ul><li>completely decoupled components </li></ul><ul><li>initial work for symfony 1.1 </li...
Getting set up
YAML <ul><li>Yaml library </li></ul><ul><li>Yaml to PHP arrays </li></ul><ul><li>PHP arrays to Yaml </li></ul><ul><li>Adva...
YAML
YAML
Event Dispatcher <ul><li>Observer design pattern </li></ul><ul><li>Create events </li></ul><ul><li>Register actions </li><...
Event Dispatcher bootstrap code based on  http://www.survivethedeepend.com /
Event Dispatcher
Dependency Injection <ul><li>Dependency Injection container </li></ul><ul><li>Based on Spring framework </li></ul><ul><li>...
Dependency Injection <ul><li>“ Old” way of doing things </li></ul><ul><li>Hardcoded instantiations </li></ul>
Dependency Injection <ul><li>Remove hardcoded dependencies </li></ul><ul><li>Pass dependencies via parameters (or construc...
Dependency Injection
Templating <ul><li>Common templating options </li></ul><ul><li>Object Oriented approach to views </li></ul><ul><li>Helpers...
Output Escaper <ul><li>Automatic XSS protection </li></ul><ul><li>Strings, arrays, objects </li></ul><ul><li>Coming soon.....
Request Handler <ul><li>coming soon </li></ul>
More ... <ul><li>There is much more in the symfony stack </li></ul>
About integration
Integration <ul><li>No need to limit yourself </li></ul><ul><li>Pick the right base </li></ul><ul><li>Use external resourc...
Component Frameworks <ul><li>Zend Framework </li></ul><ul><li>Symfony Components </li></ul><ul><li>ezComponents </li></ul>...
Questions?
<ul><li>http://www.leftontheweb.com/ </li></ul><ul><li>http://twitter.com/skoop </li></ul><ul><li>http://slideshare.net/sk...
Upcoming SlideShare
Loading in...5
×

Integrating symfony and Zend Framework (PHPBarcelona 2009)

3,939

Published on

The Integrating symfony and Zend Framework presentation I did at PHPBarcelona 2009

Published in: Technology, Education
2 Comments
15 Likes
Statistics
Notes
No Downloads
Views
Total Views
3,939
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
2
Likes
15
Embeds 0
No embeds

No notes for slide

Integrating symfony and Zend Framework (PHPBarcelona 2009)

  1. 1. Integrating <ul><li>symfony and Zend Framewor </li></ul>PHPBarcelona, 30-10-2009
  2. 2. Welcome <ul><li>About frameworks </li></ul><ul><li>Zend Framework in symfony projects </li></ul><ul><li>symfony in Zend Framework projects </li></ul>
  3. 3. About me <ul><li>Stefan Koopmanschap </li></ul><ul><li>symfony Community Manager </li></ul><ul><li>Zend Framework Contributor </li></ul>
  4. 4. Who uses... <ul><li>a PHP framework? </li></ul><ul><li>an open source PHP framework? </li></ul><ul><li>symfony? </li></ul><ul><li>Zend Framework? </li></ul><ul><li>More than one framework in the same project? </li></ul>
  5. 5. Frameworks <ul><li>Why? </li></ul><ul><li>Which? </li></ul>
  6. 6. symfony
  7. 7. Zend Framework
  8. 8. integrate
  9. 9. Zend Framework in symfony projects
  10. 10. Getting set up
  11. 11. Getting set up
  12. 12. A quick Twitter call away <ul><li>Blog application </li></ul><ul><li>New way of commenting: via Twitter </li></ul><ul><li>No sfTwitter class </li></ul><ul><li>But wait, there is Zend_Service_Twitter </li></ul>
  13. 13. Send comment
  14. 14. Send comment
  15. 15. Send comment
  16. 16. Comment
  17. 17. Show comments
  18. 18. Show comments
  19. 19. Show comments
  20. 20. Search
  21. 21. Search <ul><li>index my posts </li></ul><ul><li>provide search option </li></ul>
  22. 22. Zend Search Lucene
  23. 23. Index
  24. 24. Index
  25. 25. Index
  26. 26. Index
  27. 27. Index
  28. 28. Search
  29. 29. Search
  30. 30. Search
  31. 31. Search
  32. 32. Recycle <ul><li>Abstract into plugins </li></ul><ul><li>Plugins are PEAR packages </li></ul><ul><li>symfony CLI can install plugins easily </li></ul><ul><li>Many ZF-based plugins already available </li></ul>
  33. 33. Recycle <ul><li>Zend_Mail </li></ul><ul><li>Zend_OpenId </li></ul><ul><li>Zend_Cache </li></ul><ul><li>Zend_Search_Lucene </li></ul>
  34. 34. symfony in Zend Framework projects
  35. 35. Wait, huh? <ul><li>symfony (full stack framework) </li></ul><ul><li>symfony components </li></ul>
  36. 36. Introducing Symfony Components <ul><li>completely decoupled components </li></ul><ul><li>initial work for symfony 1.1 </li></ul><ul><li>now available as seperate libraries </li></ul>
  37. 37. Getting set up
  38. 38. YAML <ul><li>Yaml library </li></ul><ul><li>Yaml to PHP arrays </li></ul><ul><li>PHP arrays to Yaml </li></ul><ul><li>Advanced errors </li></ul>
  39. 39. YAML
  40. 40. YAML
  41. 41. Event Dispatcher <ul><li>Observer design pattern </li></ul><ul><li>Create events </li></ul><ul><li>Register actions </li></ul><ul><li>Actions get triggered </li></ul>
  42. 42. Event Dispatcher bootstrap code based on http://www.survivethedeepend.com /
  43. 43. Event Dispatcher
  44. 44. Dependency Injection <ul><li>Dependency Injection container </li></ul><ul><li>Based on Spring framework </li></ul><ul><li>Can contain and instantiate objects </li></ul>
  45. 45. Dependency Injection <ul><li>“ Old” way of doing things </li></ul><ul><li>Hardcoded instantiations </li></ul>
  46. 46. Dependency Injection <ul><li>Remove hardcoded dependencies </li></ul><ul><li>Pass dependencies via parameters (or constructor) </li></ul>
  47. 47. Dependency Injection
  48. 48. Templating <ul><li>Common templating options </li></ul><ul><li>Object Oriented approach to views </li></ul><ul><li>Helpers, Template autoloading, rendering </li></ul>
  49. 49. Output Escaper <ul><li>Automatic XSS protection </li></ul><ul><li>Strings, arrays, objects </li></ul><ul><li>Coming soon... </li></ul>
  50. 50. Request Handler <ul><li>coming soon </li></ul>
  51. 51. More ... <ul><li>There is much more in the symfony stack </li></ul>
  52. 52. About integration
  53. 53. Integration <ul><li>No need to limit yourself </li></ul><ul><li>Pick the right base </li></ul><ul><li>Use external resources </li></ul>
  54. 54. Component Frameworks <ul><li>Zend Framework </li></ul><ul><li>Symfony Components </li></ul><ul><li>ezComponents </li></ul><ul><li>PEAR </li></ul><ul><li>Prado </li></ul><ul><li>Solar </li></ul><ul><li>many more ... </li></ul>
  55. 55. Questions?
  56. 56. <ul><li>http://www.leftontheweb.com/ </li></ul><ul><li>http://twitter.com/skoop </li></ul><ul><li>http://slideshare.net/skoop </li></ul>

×