0
Jochen Rau                       Get into                       the flow                       with FLOW3Demo App: https:/...
Who is this?     Stuttgart
Who is this?       Hatfield
Who is this?Researcher & Project Manager  Fraunhofer-Gesellschaft  German Aerospace Center
Who is this?     High School Teacher   Mathematics and Physics
Who is this?  Infected withTYPO3 and FLOW3     in 2OO6
Who is this?  Infected withTYPO3 and FLOW3     in 2OO6
Who is this?              Consultant          Software Engineer           Infinite Cloud LLC
Robert Lemkeproject founderFLOW3 and TYPO3 “Phoenix”co-founder TYPO3 Associationcoach, coder, consultant36 years oldlives ...
At a GlanceFLOW3 is a web application platform • holistic concept for your apps • modular, extensible, package based • ped...
Foundation for the Next Generation CMSTYPO3 “Phoenix” is the all-newEnterprise CMS • content repository, workspaces,   ver...
TEXT HERE
1. Kickstart
2. Action Controller
Model-View-Controller                                              Request                                                ...
3. Templating
TEXT HERE
4. Models
TEXT HERE
TEXT HERE
TEXT HERE
5. Domain-Driven Design
Tackling the Heart of Software Development                                         /**Domain-Driven Design                ...
TEXT HERE
6. Persistence
TEXT HERE
TEXT HERE
TEXT HERE
TEXT HERE
TEXT HERE
7. Resources
TEXT HERE
TEXT HERE
TEXT HERE
TEXT HERE
TEXT HERE
8. Dependency Injection
Without Dependency Injectionnamespace AcmeDemoController;use TYPO3FLOW3MvcControllerActionController;use AcmeDemoServiceGr...
Constructor Injectionnamespace AcmeDemoController;use TYPO3FLOW3MvcControllerActionController;use AcmeDemoServiceGreeterSe...
Setter Injectionnamespace AcmeDemoController;use TYPO3FLOW3MvcControllerActionController;use AcmeDemoServiceGreeterService...
Property Injectionnamespace AcmeDemoController;use TYPO3FLOW3Annotations as FLOW3;use TYPO3FLOW3MvcControllerActionControl...
Object ManagementFLOW3s take on Dependency Injection • one of the first PHP implementations   (started in 2006, improved ev...
9. Sessions
TEXT HERE
TEXT HERE
TEXT HERE
TEXT HERE
10. Security
TEXT HERE
TEXT HERE
11. Aspect-Oriented   Programming
12. In the wild
Rossmann• second biggest drug store  in Germany• 5.13 billion € turnover• 31000 employeesCustomer Database
Amadeus• world’s biggest  e-ticket provider• 217 markets• 948 million billable  transactions / year• 2.7 billion € revenue...
TEXT HERE
Thanks for having me!Slides:     http://slideshare.net/jocrauExamples:   https://github.com/jocrau/RoeBooks.ShopBlog:     ...
2012 08-11-flow3-northeast-php
2012 08-11-flow3-northeast-php
2012 08-11-flow3-northeast-php
2012 08-11-flow3-northeast-php
2012 08-11-flow3-northeast-php
2012 08-11-flow3-northeast-php
2012 08-11-flow3-northeast-php
2012 08-11-flow3-northeast-php
2012 08-11-flow3-northeast-php
2012 08-11-flow3-northeast-php
2012 08-11-flow3-northeast-php
2012 08-11-flow3-northeast-php
2012 08-11-flow3-northeast-php
2012 08-11-flow3-northeast-php
2012 08-11-flow3-northeast-php
Upcoming SlideShare
Loading in...5
×

2012 08-11-flow3-northeast-php

1,718

Published on

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,718
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
18
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Transcript of "2012 08-11-flow3-northeast-php"

  1. 1. Jochen Rau Get into the flow with FLOW3Demo App: https://github.com/jocrau/RoeBooks.Shop
  2. 2. Who is this? Stuttgart
  3. 3. Who is this? Hatfield
  4. 4. Who is this?Researcher & Project Manager Fraunhofer-Gesellschaft German Aerospace Center
  5. 5. Who is this? High School Teacher Mathematics and Physics
  6. 6. Who is this? Infected withTYPO3 and FLOW3 in 2OO6
  7. 7. Who is this? Infected withTYPO3 and FLOW3 in 2OO6
  8. 8. Who is this? Consultant Software Engineer Infinite Cloud LLC
  9. 9. Robert Lemkeproject founderFLOW3 and TYPO3 “Phoenix”co-founder TYPO3 Associationcoach, coder, consultant36 years oldlives in Lübeck, Germanycredits to him for most of the slides
  10. 10. At a GlanceFLOW3 is a web application platform • holistic concept for your apps • modular, extensible, package based • pedantically clean with focus on quality • puts a smile on developer’s faces • free & Open Source (LGPL v3) • backed by one of the largest Open Source projects
  11. 11. Foundation for the Next Generation CMSTYPO3 “Phoenix” is the all-newEnterprise CMS • content repository, workspaces, versions, i18n, modular UI ... • powered by FLOW3 • compatible code base • use TYPO3 features in FLOW3 standalone apps as you like
  12. 12. TEXT HERE
  13. 13. 1. Kickstart
  14. 14. 2. Action Controller
  15. 15. Model-View-Controller Request RoeBooks 1 Response Controller 2 assign(book, $book) findByTitle(FLOW3) render() 4 $book Response Domain Model 3 Repository View Book Category Author
  16. 16. 3. Templating
  17. 17. TEXT HERE
  18. 18. 4. Models
  19. 19. TEXT HERE
  20. 20. TEXT HERE
  21. 21. TEXT HERE
  22. 22. 5. Domain-Driven Design
  23. 23. Tackling the Heart of Software Development /**Domain-Driven Design * A Book * * @FLOW3Scope(“protot ype”) * @FLOW3EntityA methodology which ... */ class Book { • results in rich domain models /** * @var string */ • provides a common language protected $title; across the project team /** * @var string */ • simplify the design of complex protected $isbn; applications /** * @var string */ protected $description ;FLOW3 is the first PHP framework /**tailored to Domain-Driven Design * @var integer */ protected $price;
  24. 24. TEXT HERE
  25. 25. 6. Persistence
  26. 26. TEXT HERE
  27. 27. TEXT HERE
  28. 28. TEXT HERE
  29. 29. TEXT HERE
  30. 30. TEXT HERE
  31. 31. 7. Resources
  32. 32. TEXT HERE
  33. 33. TEXT HERE
  34. 34. TEXT HERE
  35. 35. TEXT HERE
  36. 36. TEXT HERE
  37. 37. 8. Dependency Injection
  38. 38. Without Dependency Injectionnamespace AcmeDemoController;use TYPO3FLOW3MvcControllerActionController;use AcmeDemoServiceGreeterService;class DemoController extends ActionController { /** * @var AcmeDemoServiceGreeterServiceInterface * */ protected $greeterService; /** * */ public function __construct() { $this->greeterService = new AcmeDemoServiceGreeterService(); } /** * @param string $name */ public function helloAction($name) { return $this->greeterService->greet($name); }
  39. 39. Constructor Injectionnamespace AcmeDemoController;use TYPO3FLOW3MvcControllerActionController;use AcmeDemoServiceGreeterService;class DemoController extends ActionController { /** * @var AcmeDemoServiceGreeterServiceInterface * */ protected $greeterService; /** * @param AcmeDemoServiceGreeterServiceInterface */ public function __construct(GreeterServiceInterface $greeterService) { $this->greeterService = $greeterService; } /** * @param string $name */ public function helloAction($name) { return $this->greeterService->greet($name); }
  40. 40. Setter Injectionnamespace AcmeDemoController;use TYPO3FLOW3MvcControllerActionController;use AcmeDemoServiceGreeterService;class DemoController extends ActionController { /** * @var AcmeDemoServiceGreeterServiceInterface * */ protected $greeterService; /** * @param AcmeDemoServiceGreeterServiceInterface */ public function injectGreeterService(GreeterServiceInterface $greeterService) { $this->greeterService = $greeterService; } /** * @param string $name */ public function helloAction($name) { return $this->greeterService->greet($name); }
  41. 41. Property Injectionnamespace AcmeDemoController;use TYPO3FLOW3Annotations as FLOW3;use TYPO3FLOW3MvcControllerActionController;class DemoController extends ActionController { /** * @var AcmeDemoServiceGreeterServiceInterface * @FLOW3Inject */ protected $greeterService; /** * @param string $name */ public function helloAction($name) { return $this->greeterService->greet($name); }
  42. 42. Object ManagementFLOW3s take on Dependency Injection • one of the first PHP implementations (started in 2006, improved ever since) • object management for the whole lifecycle of all objects • no unnecessary configuration if information can be gathered automatically (autowiring) • intuitive use and no bad magical surprises • fast! (like hardcoded or faster)
  43. 43. 9. Sessions
  44. 44. TEXT HERE
  45. 45. TEXT HERE
  46. 46. TEXT HERE
  47. 47. TEXT HERE
  48. 48. 10. Security
  49. 49. TEXT HERE
  50. 50. TEXT HERE
  51. 51. 11. Aspect-Oriented Programming
  52. 52. 12. In the wild
  53. 53. Rossmann• second biggest drug store in Germany• 5.13 billion € turnover• 31000 employeesCustomer Database
  54. 54. Amadeus• world’s biggest e-ticket provider• 217 markets• 948 million billable transactions / year• 2.7 billion € revenueSocial Media Suite
  55. 55. TEXT HERE
  56. 56. Thanks for having me!Slides: http://slideshare.net/jocrauExamples: https://github.com/jocrau/RoeBooks.ShopBlog: http://typoplanet.comTwitter: @jocrau @flow3Feedback: jrau@infinitecloud.com https://joind.in/6815FLOW3: http://flow3.typo3.org
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×