Your SlideShare is downloading. ×
Hands on FLOW3 (DPC12)
Hands on FLOW3 (DPC12)
Hands on FLOW3 (DPC12)
Hands on FLOW3 (DPC12)
Hands on FLOW3 (DPC12)
Hands on FLOW3 (DPC12)
Hands on FLOW3 (DPC12)
Hands on FLOW3 (DPC12)
Hands on FLOW3 (DPC12)
Hands on FLOW3 (DPC12)
Hands on FLOW3 (DPC12)
Hands on FLOW3 (DPC12)
Hands on FLOW3 (DPC12)
Hands on FLOW3 (DPC12)
Hands on FLOW3 (DPC12)
Hands on FLOW3 (DPC12)
Hands on FLOW3 (DPC12)
Hands on FLOW3 (DPC12)
Hands on FLOW3 (DPC12)
Hands on FLOW3 (DPC12)
Hands on FLOW3 (DPC12)
Hands on FLOW3 (DPC12)
Hands on FLOW3 (DPC12)
Hands on FLOW3 (DPC12)
Hands on FLOW3 (DPC12)
Hands on FLOW3 (DPC12)
Hands on FLOW3 (DPC12)
Hands on FLOW3 (DPC12)
Hands on FLOW3 (DPC12)
Hands on FLOW3 (DPC12)
Hands on FLOW3 (DPC12)
Hands on FLOW3 (DPC12)
Hands on FLOW3 (DPC12)
Hands on FLOW3 (DPC12)
Hands on FLOW3 (DPC12)
Hands on FLOW3 (DPC12)
Hands on FLOW3 (DPC12)
Hands on FLOW3 (DPC12)
Hands on FLOW3 (DPC12)
Hands on FLOW3 (DPC12)
Hands on FLOW3 (DPC12)
Hands on FLOW3 (DPC12)
Hands on FLOW3 (DPC12)
Hands on FLOW3 (DPC12)
Hands on FLOW3 (DPC12)
Hands on FLOW3 (DPC12)
Hands on FLOW3 (DPC12)
Hands on FLOW3 (DPC12)
Hands on FLOW3 (DPC12)
Hands on FLOW3 (DPC12)
Hands on FLOW3 (DPC12)
Hands on FLOW3 (DPC12)
Hands on FLOW3 (DPC12)
Hands on FLOW3 (DPC12)
Hands on FLOW3 (DPC12)
Hands on FLOW3 (DPC12)
Hands on FLOW3 (DPC12)
Hands on FLOW3 (DPC12)
Hands on FLOW3 (DPC12)
Hands on FLOW3 (DPC12)
Hands on FLOW3 (DPC12)
Hands on FLOW3 (DPC12)
Hands on FLOW3 (DPC12)
Hands on FLOW3 (DPC12)
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

Hands on FLOW3 (DPC12)

1,136

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
1 Comment
0 Likes
Statistics
Notes
  • Be the first to like this

No Downloads
Views
Total Views
1,136
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
15
Comments
1
Likes
0
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 onFLOW3
  • 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. 5. Domain-Driven Design
  • 16. 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;
  • 17. Domain-Driven Design
  • 18. 6. Persistence
  • 19. TEXT HERE
  • 20. TEXT HERE
  • 21. TEXT HERE
  • 22. TEXT HERE
  • 23. TEXT HERE
  • 24. 7. Resources
  • 25. TEXT HERE
  • 26. TEXT HERE
  • 27. TEXT HERE
  • 28. TEXT HERE
  • 29. TEXT HERE
  • 30. 8. Dependency Injection
  • 31. TEXT HERE
  • 32. TEXT HERE
  • 33. 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)
  • 34. 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); }}
  • 35. 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); }}
  • 36. 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); }}
  • 37. 9. Sessions
  • 38. TEXT HERE
  • 39. TEXT HERE
  • 40. TEXT HERE
  • 41. TEXT HERE
  • 42. 10. Security
  • 43. TEXT HERE
  • 44. TEXT HERE
  • 45. 11. Aspect-Oriented Programming
  • 46. Rossmann• second biggest drug store in Germany• 5,13 billion € turnover• 31,000 employeesCustomer Database
  • 47. Amadeus• world’s biggest e-ticket provider• 217 markets• 948 million billable transactions / year• 2,7 billion € revenueSocial Media Suite
  • 48. ?
  • 49. Thanks for having me!Slides: http://slideshare.net/robertlemkeExamples: http://github.com/robertlemkeBlog: http://robertlemke.comTwitter: @robertlemkeFeedback: robert@typo3.orgFLOW3: http://flow3.typo3.org

×