Your SlideShare is downloading. ×
0
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
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
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
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
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
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
IPCSE12: Hands on FLOW3
IPCSE12: Hands on FLOW3
IPCSE12: Hands on FLOW3
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

IPCSE12: Hands on FLOW3

967

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 …

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
967
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
3
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Robert LemkeHands on FLOW3
  • 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. 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. 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. TEXT HERE
  • 6. 1. Command Line
  • 7. TEXT HERE
  • 8. 2. Action Controller
  • 9. 3. Templating
  • 10. TEXT HERE
  • 11. 4. Models
  • 12. TEXT HERE
  • 13. TEXT HERE
  • 14. TEXT HERE
  • 15. TEXT HERE
  • 16. 5. Persistence
  • 17. TEXT HERE
  • 18. TEXT HERE
  • 19. TEXT HERE
  • 20. TEXT HERE
  • 21. TEXT HERE
  • 22. TEXT HERE
  • 23. 6. Domain-Driven Design
  • 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. Domain-Driven Design
  • 26. 7. Resources
  • 27. TEXT HERE
  • 28. TEXT HERE
  • 29. TEXT HERE
  • 30. TEXT HERE
  • 31. TEXT HERE
  • 32. 7. Dependency Injection
  • 33. TEXT HERE
  • 34. TEXT HERE
  • 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. 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. 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. 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. TEXT HERE
  • 40. 8. Sessions
  • 41. TEXT HERE
  • 42. TEXT HERE
  • 43. TEXT HERE
  • 44. TEXT HERE
  • 45. 9. Security
  • 46. TEXT HERE
  • 47. TEXT HERE
  • 48. Rossmann• second biggest drug store in Germany• 5,13 billion € turnover• 31,000 employeesCustomer Database
  • 49. Amadeus• world’s biggest e-ticket provider• 217 markets• 948 million billable transactions / year• 2,7 billion € revenueSocial Media Suite
  • 50. World of Textile• textile print and finishing• 30,000 articles / day• 180 employeesE-Commerce Platform
  • 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. ?
  • 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

×