T3DD09: Hitchhikers Guide to FLOW3

  • Published on
    19-May-2015

  • View
    616

  • Download
    0

DESCRIPTION

The traditional session on the TYPO3 Developer Days about the current state of FLOW3 and TYPO3 version 5.

Transcript

1. Hitchhikers Guide to FLOW3T3DD09, Elmshorn, GermanyMittwoch, 20. Mai 2009 2. The History of FLOW3 (short version)Mittwoch, 20. Mai 2009 3. Mittwoch, 20. Mai 2009 4. 1998Mittwoch, 20. Mai 2009 5. Mittwoch, 20. Mai 2009 33 6. 500.000Mittwoch, 20. Mai 2009 7. 300.000Mittwoch, 20. Mai 2009 8. Mittwoch, 20. Mai 2009 9. The FLOW3 experience Flow [fl!] The mental state of operation in which the person is fully immersed in what he or she is doing by a feeling of energized focus, full involvement, and success in the process of the activity. Proposed by positive psychologist Mihly Cskszentmihlyi , the concept has been widely referenced across a variety of elds. FLOW3 [fl!three] The application framework which takes care of all hassle and lets you play the fun part.Hitchhikers Guide to FLOW3Inspiring people to shareMittwoch, 20. Mai 2009 10. The FLOW3 experience Flow [fl!] The mental state of operation in which the person is fully immersed in what he or she is doing by a feeling of energized focus, full involvement, and success in the process of the activity. Proposed by positive psychologist Mihly Cskszentmihlyi , the concept has been widely referenced across a variety of elds. FLOW3 [fl!three] The application framework which takes care of all hassle and lets you play the fun part. ["miha#j t$i#k"s%ntmiha#ji]Hitchhikers Guide to FLOW3Inspiring people to shareMittwoch, 20. Mai 2009 11. FLOW3 = Application Framework Not just a collection of components or code snippet library Comes with ready-to-go default conguration Package based Tailored to Domain-Driven DesignHitchhikers Guide to FLOW3Inspiring people to shareMittwoch, 20. Mai 2009 12. Get the FLOW experience Intuitive APIs Readable source code (like a book) Consistent naming for classes, methods and properties Focus on the essential, the framework takes care of the infrastructureHitchhikers Guide to FLOW3Inspiring people to shareMittwoch, 20. Mai 2009 13. TYPO3 and FLOW3 FLOW3 acts as a reliable basis for any kind of web application TYPO3 v5 is a package based on FLOW3 TYPO3 extensions are packages as well, all based on FLOW3 Packages can be used as extensions for TYPO3 as libraries for standalone applicationsHitchhikers Guide to FLOW3 Inspiring people toshareMittwoch, 20. Mai 2009 14. FLOW3 sub packages AOPLog Reection ComponentMonitor Resource Conguration MVC Session CacheObjectSignalSlot ErrorPackage Validation Locale Persistence ... and moreHitchhikers Guide to FLOW3 Inspiring people toshareMittwoch, 20. Mai 2009 15. Getting StartedHitchhikers Guide to FLOW3 Inspiring people toshareMittwoch, 20. Mai 2009 16. Getting Started Requirements Some webserver (tested with Apache and IIS) PHP 5.3RC1 or higher (see http://snaps.php.net/) PHP extensions: zlib, PDO and PDO SQLite and the usual stuff Some database (tested with SQLite, MySQL and Postgres)Hitchhikers Guide to FLOW3 Inspiring people toshareMittwoch, 20. Mai 2009 17. Getting Started Download Currently available through Subversion Checkout the FLOW3 Distribution: svn co https://svn.typo3.org/FLOW3/distribution/trunk or try the TYPO3 Distribution: svn co https://svn.typo3.org/TYPO3v5/distribution/trunk Nightly builds will follow as soon FLOW3 1.0 alpha 1 release on June 1stHitchhikers Guide to FLOW3Inspiring people to shareMittwoch, 20. Mai 2009 18. Getting Started Grant File Permissions The webserver needs read access for all les of the distribution and write access in the Public and Data directory On Linux / Mac just call sudo ./xpermissions.sh On legacy operating systems: ask your system administratorHitchhikers Guide to FLOW3 Inspiring people toshareMittwoch, 20. Mai 2009 19. Model - View - ControllerHitchhikers Guide to FLOW3 Inspiring people toshareMittwoch, 20. Mai 2009 20. The MVC Pattern Model an object which contains data and business logic of a certain domain doesnt contain any information about the presentation of that data, but rather denes the behaviour in the FLOW3 project we prefer a special kind of model, the Domain ModelHitchhikers Guide to FLOW3Inspiring people to shareMittwoch, 20. Mai 2009 21. The MVC Pattern View represents the display of the model on the web or another output channel views only display data, they dont build or modify itHitchhikers Guide to FLOW3Inspiring people to shareMittwoch, 20. Mai 2009 22. The MVC Pattern Controller reacts on user input, selects and manipulates the model as accordingly selects a view and passes it the prepared model for renderingHitchhikers Guide to FLOW3 Inspiring people toshareMittwoch, 20. Mai 2009 23. MVC Action Controller An action controller accepts a request evaluates arguments calls the action dened in the request and adds output to the responseHitchhikers Guide to FLOW3 Inspiring people toshareMittwoch, 20. Mai 2009 24. MVC Action Controller: Important Methods Actions - methods just need an "Action" sufx: public function indexAction() { } public function deleteAction() { } Initialization for the whole controller: public function initializeController() { } Initialization before any action is called: public function initializeAction() { } public function initializeXYAction() { }Hitchhikers Guide to FLOW3 Inspiring people toshareMittwoch, 20. Mai 2009 25. MVC Action Arguments Arguments are dened by declaring them in the action method Argument data types are dened by type hint and documentation /*** Action that displays one single post** @param F3BlogDomainModelPost $post The post to display* @return void* @author Robert Lemke */ public function showAction(F3BlogDomainModelPost $post) {Hitchhikers Guide to FLOW3 Inspiring people toshareMittwoch, 20. Mai 2009 26. DEMOHitchhikers Guide to FLOW3 Inspiring people toshareMittwoch, 20. Mai 2009 27. Mittwoch, 20. Mai 2009 28. ValidationHitchhikers Guide to FLOW3 Inspiring people toshareMittwoch, 20. Mai 2009 29. Validating Arguments All arguments passed to an Action Controller are automatically validated White List policy: Only registered arguments are available Accessing the $_GET and $_POST super globals is dangerous, dirty, deprecated and will probably be intercepted in the futureHitchhikers Guide to FLOW3 Inspiring people toshareMittwoch, 20. Mai 2009 30. Validating Arguments FLOW3 comes with a bunch of built in validators: AlphaNumeric, EmailAddress, Float, Integer, NotEmpty, Number, NumberRange, RegularExpression, UUID, Text Custom validators can be created (especially for Domain Models) All validators can be chained (and nested)Hitchhikers Guide to FLOW3Inspiring people to shareMittwoch, 20. Mai 2009 31. Validation Rules Definition All validation rules are dened by annotations in place Additional rules may be dened programmatically class Blog { /*** The blogs name. Also acts as the identier.** @var string* @validate Alphanumeric, Length(minimum = 3, maximum = 50)* @identity*/ protected $name = ; /*** A short description of the blog** @var string* @validate Text, Length(maximum = 150)Hitchhikers Guide to FLOW3*/Inspiring people to protected $description = ;shareMittwoch, 20. Mai 2009 32. Validation Rules Definition /** * Create action for this controller. * * @param string $emailAddress * @return string The rendered view * @author Robert Lemke * @validate $emailAddress EmailAddress */ public function createAction($emailAddress) { }Hitchhikers Guide to FLOW3Inspiring people to shareMittwoch, 20. Mai 2009 33. DEMOHitchhikers Guide to FLOW3 Inspiring people toshareMittwoch, 20. Mai 2009 34. SecurityHitchhikers Guide to FLOW3 Inspiring people toshareMittwoch, 20. Mai 2009 35. RoutingHitchhikers Guide to FLOW3 Inspiring people toshareMittwoch, 20. Mai 2009 36. CachingHitchhikers Guide to FLOW3 Inspiring people toshareMittwoch, 20. Mai 2009 37. Progress Developing TYPO3 5.0 ...Development with FLOW3Inspiring people toshareMittwoch, 20. Mai 2009 38. DEMOHitchhikers Guide to FLOW3 Inspiring people toshareMittwoch, 20. Mai 2009 39. PlaygroundHitchhikers Guide to FLOW3 Inspiring people toshareMittwoch, 20. Mai 2009 40. Things to play with F3BLOG Try out the Blog Example: svn co https://svn.typo3.org/FLOW3/Distribution/branches/BlogExample/Hitchhikers Guide to FLOW3Inspiring people to shareMittwoch, 20. Mai 2009 41. Things to play with TYPO3CR Admin Play with persistence and watch your object in the TYPO3CR AdminHitchhikers Guide to FLOW3Inspiring people toshareMittwoch, 20. Mai 2009 42. Things to play with Testrunner Experiment with Test-Driven Development and watch the tests in FLOW3s test runnerHitchhikers Guide to FLOW3 Inspiring people toshareMittwoch, 20. Mai 2009 43. Links FLOW3 Website http://ow3.typo3.org TYPO3 Forge http://forge.typo3.org Coding Guidelines http://ow3.typo3.org/documentation/coding-guidelines/ Further Reading http://ow3.typo3.org/about/principles/further-reading/Hitchhikers Guide to FLOW3Inspiring people to shareMittwoch, 20. Mai 2009 44. Further Reading http://flow3.typo3.org/about/principles/further-reading/ Beat http://beat.typo3.orgHitchhikers Guide to FLOW3 Inspiring people toshareMittwoch, 20. Mai 2009 45. QuestionsHitchhikers Guide to FLOW3 Inspiring people toshareMittwoch, 20. Mai 2009 46. Mittwoch, 20. Mai 2009 47. Mittwoch, 20. Mai 2009

Recommended

View more >