Technology

2012 08-11-flow3-northeast-php

Description
1. Jochen Rau Get into the flow with FLOW3Demo App: https://github.com/jocrau/RoeBooks.Shop 2. Who is this? Stuttgart 3. Who is this? Hatfield 4. Who is this?Researcher…
Categories
Published
of 71
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
Related Documents
Share
Transcript
  • 1. Jochen Rau Get into the flow with FLOW3Demo App: https://github.com/jocrau/RoeBooks.Shop
  • 2. Who is this? Stuttgart
  • 3. Who is this? Hatfield
  • 4. Who is this?Researcher & Project Manager Fraunhofer-Gesellschaft German Aerospace Center
  • 5. Who is this? High School Teacher Mathematics and Physics
  • 6. Who is this? Infected withTYPO3 and FLOW3 in 2OO6
  • 7. Who is this? Infected withTYPO3 and FLOW3 in 2OO6
  • 8. Who is this? Consultant Software Engineer Infinite Cloud LLC
  • 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. 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. 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. TEXT HERE
  • 13. 1. Kickstart
  • 14. 2. Action Controller
  • 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. 3. Templating
  • 17. TEXT HERE
  • 18. 4. Models
  • 19. TEXT HERE
  • 20. TEXT HERE
  • 21. TEXT HERE
  • 22. 5. Domain-Driven Design
  • 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. TEXT HERE
  • 25. 6. Persistence
  • 26. TEXT HERE
  • 27. TEXT HERE
  • 28. TEXT HERE
  • 29. TEXT HERE
  • 30. TEXT HERE
  • 31. 7. Resources
  • 32. TEXT HERE
  • 33. TEXT HERE
  • 34. TEXT HERE
  • 35. TEXT HERE
  • 36. TEXT HERE
  • 37. 8. Dependency Injection
  • 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. 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. 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. 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. 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. 9. Sessions
  • 44. TEXT HERE
  • 45. TEXT HERE
  • 46. TEXT HERE
  • 47. TEXT HERE
  • 48. 10. Security
  • 49. TEXT HERE
  • 50. TEXT HERE
  • 51. 11. Aspect-Oriented Programming
  • 52. 12. In the wild
  • 53. Rossmann• second biggest drug store in Germany• 5.13 billion € turnover• 31000 employeesCustomer Database
  • 54. Amadeus• world’s biggest e-ticket provider• 217 markets• 948 million billable transactions / year• 2.7 billion € revenueSocial Media Suite
  • 55. TEXT HERE
  • 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
  • We Need Your Support
    Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

    Thanks to everyone for your continued support.

    No, Thanks