Robert LemkeHands on FLOW3
Robert Lemkeproject founder of FLOW3 and TYPO3 “Phoenix”co-founder of the TYPO3 Associationcoach, coder, consultant36 year...
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. Command Line
TEXT HERE
2. Action Controller
3. Templating
TEXT HERE
4. Models
TEXT HERE
TEXT HERE
TEXT HERE
TEXT HERE
5. Persistence
TEXT HERE
TEXT HERE
TEXT HERE
TEXT HERE
TEXT HERE
TEXT HERE
6. Domain-Driven Design
Tackling the Heart of Software Development                                         /**Domain-Driven Design                ...
Domain-Driven Design
7. Resources
TEXT HERE
TEXT HERE
TEXT HERE
TEXT HERE
TEXT HERE
7. Dependency Injection
TEXT HERE
TEXT HERE
Object ManagementFLOW3s take on Dependency Injection • one of the first PHP implementations   (started in 2006, improved ev...
Constructor Injectionnamespace AcmeDemoController;use TYPO3FLOW3MvcControllerActionController;use AcmeDemoServiceGreeterSe...
Setter Injectionnamespace AcmeDemoController;use TYPO3FLOW3MVCControllerActionController;use AcmeDemoServiceGreeterService...
Property Injectionnamespace TYPO3DemoController;use TYPO3FLOW3Annotations as FLOW3;use TYPO3FLOW3MVCControllerActionContro...
TEXT HERE
8. Sessions
TEXT HERE
TEXT HERE
TEXT HERE
TEXT HERE
9. Security
TEXT HERE
TEXT HERE
Rossmann• second biggest drug store  in Germany• 5,13 billion € turnover• 31,000 employeesCustomer Database
Amadeus• world’s biggest  e-ticket provider• 217 markets• 948 million billable  transactions / year• 2,7 billion € revenue...
World of Textile• textile print and finishing• 30,000 articles / day• 180 employeesE-Commerce Platform
Project X                 FLOW3 1.0 FLOW3 1.1transactions /second                    27        71longesttransaction       ...
?
Thanks for having me!Slides:     http://slideshare.net/robertlemkeExamples:   http://github.com/robertlemkeBlog:       htt...
IPCSE12: Hands on FLOW3
IPCSE12: Hands on FLOW3
IPCSE12: Hands on FLOW3
IPCSE12: Hands on FLOW3
IPCSE12: Hands on FLOW3
IPCSE12: Hands on FLOW3
IPCSE12: Hands on FLOW3
IPCSE12: Hands on FLOW3
IPCSE12: Hands on FLOW3
IPCSE12: Hands on FLOW3
Upcoming SlideShare
Loading in …5
×

IPCSE12: Hands on FLOW3

1,197 views

Published on

The FLOW3 framework got a lot of attention when version 1.0 was released after years of development. Its main approach is to deliver a whole-in-one concept for modern programming techniques and guiding developers to write excellent code. This session takes you on a tour through FLOW3's key features by demonstrating the making of a real application.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,197
On SlideShare
0
From Embeds
0
Number of Embeds
155
Actions
Shares
0
Downloads
3
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

IPCSE12: Hands on FLOW3

  1. 1. Robert LemkeHands on FLOW3
  2. 2. Robert Lemkeproject founder of FLOW3 and TYPO3 “Phoenix”co-founder of the TYPO3 Associationcoach, coder, consultant36 years oldlives in Lübeck, Germany1 wife, 2 daughters, 1 espresso machinelikes drumming
  3. 3. 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
  4. 4. 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
  5. 5. TEXT HERE
  6. 6. 1. Command Line
  7. 7. TEXT HERE
  8. 8. 2. Action Controller
  9. 9. 3. Templating
  10. 10. TEXT HERE
  11. 11. 4. Models
  12. 12. TEXT HERE
  13. 13. TEXT HERE
  14. 14. TEXT HERE
  15. 15. TEXT HERE
  16. 16. 5. Persistence
  17. 17. TEXT HERE
  18. 18. TEXT HERE
  19. 19. TEXT HERE
  20. 20. TEXT HERE
  21. 21. TEXT HERE
  22. 22. TEXT HERE
  23. 23. 6. Domain-Driven Design
  24. 24. 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;
  25. 25. Domain-Driven Design
  26. 26. 7. Resources
  27. 27. TEXT HERE
  28. 28. TEXT HERE
  29. 29. TEXT HERE
  30. 30. TEXT HERE
  31. 31. TEXT HERE
  32. 32. 7. Dependency Injection
  33. 33. TEXT HERE
  34. 34. TEXT HERE
  35. 35. 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 gatered automatically (autowiring) • intuitive use and no bad magical surprises • fast! (like hardcoded or faster)
  36. 36. Constructor Injectionnamespace AcmeDemoController;use TYPO3FLOW3MvcControllerActionController;use AcmeDemoServiceGreeterService;class DemoController extends ActionController { /** * @var AcmeDemoServiceGreeterService */ protected $greeterService; /** * @param AcmeDemoServiceGreeterService */ public function __construct(GreeterService $greeterService) { $this->greeterService = $greeterService; } /** * @param string $name */ public function helloAction($name) { return $this->greeterService->greet($name); }}
  37. 37. Setter Injectionnamespace AcmeDemoController;use TYPO3FLOW3MVCControllerActionController;use AcmeDemoServiceGreeterService;class DemoController extends ActionController { /** * @var AcmeDemoServiceGreeterService */ protected $greeterService; /** * @param AcmeDemoServiceGreeterService */ public function injectGreeterService(GreeterService $greeterService) { $this->greeterService = $greeterService; } /** * @param string $name */ public function helloAction($name) { return $this->greeterService->greet($name); }}
  38. 38. Property Injectionnamespace TYPO3DemoController;use TYPO3FLOW3Annotations as FLOW3;use TYPO3FLOW3MVCControllerActionController;use AcmeDemoServiceGreeterService;class DemoController extends ActionController { /** * @var TYPO3DemoServiceGreeterService * @FLOW3Inject */ protected $greeterService; /** * @param string $name */ public function helloAction($name) { return $this->greeterService->greet($name); }}
  39. 39. TEXT HERE
  40. 40. 8. Sessions
  41. 41. TEXT HERE
  42. 42. TEXT HERE
  43. 43. TEXT HERE
  44. 44. TEXT HERE
  45. 45. 9. Security
  46. 46. TEXT HERE
  47. 47. TEXT HERE
  48. 48. Rossmann• second biggest drug store in Germany• 5,13 billion € turnover• 31,000 employeesCustomer Database
  49. 49. Amadeus• world’s biggest e-ticket provider• 217 markets• 948 million billable transactions / year• 2,7 billion € revenueSocial Media Suite
  50. 50. World of Textile• textile print and finishing• 30,000 articles / day• 180 employeesE-Commerce Platform
  51. 51. Project X FLOW3 1.0 FLOW3 1.1transactions /second 27 71longesttransaction 1.06 0.38shortesttransaction 0.19 0.08memory peak 19,8 MB 5,1 MB
  52. 52. ?
  53. 53. Thanks for having me!Slides: http://slideshare.net/robertlemkeExamples: http://github.com/robertlemkeBlog: http://robertlemke.comTwitter: @robertlemkeFeedback: robert@typo3.orgFLOW3: http://flow3.typo3.org

×