Hands on FLOW3 (DPC12)

64
Hands on FLOW3 Robert Lemke

description

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.

Transcript of Hands on FLOW3 (DPC12)

  • 1. Robert LemkeHands onFLOW3

2. Robert Lemkeproject founder of FLOW3 and TYPO3 Phoenixco-founder of the TYPO3 Associationcoach, coder, consultant36 years oldlives in Lbeck, 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 developers 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 rst 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 rst PHP implementations (started in 2006, improved ever since) object management for the whole lifecycle of all objects no unnecessary conguration 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 storein Germany 5,13 billion turnover 31,000 employeesCustomer Database 47. Amadeus worlds biggeste-ticket provider 217 markets 948 million billabletransactions / 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: [email protected]:http://ow3.typo3.org