Hitchhikers Guide to FLOW3                  T3DD09, Elmshorn, GermanyMittwoch, 20. Mai 2009
The History of FLOW3                               (short version)Mittwoch, 20. Mai 2009
Mittwoch, 20. Mai 2009
1998Mittwoch, 20. Mai 2009
Mittwoch, 20. Mai 2009                         33
500.000Mittwoch, 20. Mai 2009
300.000Mittwoch, 20. Mai 2009
Mittwoch, 20. Mai 2009
The FLOW3 experience                     Flow [fl!] The mental state of operation in which the person is fully immersed in...
The FLOW3 experience                     Flow [fl!] The mental state of operation in which the person is fully immersed in...
FLOW3 = Application Framework                         Not just a collection of components or code snippet library         ...
Get the FLOW experience                         Intuitive APIs                         Readable source code (like a book) ...
TYPO3 and FLOW3                         FLOW3 acts as a reliable basis for any kind of web application                    ...
FLOW3 sub packages                         AOP              Log           Reflection                         Component     ...
Getting Started                Hitchhikers Guide to FLOW3   Inspiring people to                                           ...
Getting Started                 Requirements                         Some webserver (tested with Apache and IIS)          ...
Getting Started                 Download                         Currently available through Subversion                   ...
Getting Started                 Grant File Permissions                         The webserver needs                        ...
Model - View - Controller                Hitchhikers Guide to FLOW3   Inspiring people to                                 ...
The MVC Pattern                 Model                         an object which contains data and business logic of a       ...
The MVC Pattern                 View                         represents the display of the model on the web or another    ...
The MVC Pattern                 Controller                         reacts on user input, selects and manipulates the model...
MVC                 Action Controller                         An action controller                           accepts a req...
MVC                 Action Controller: Important Methods                         Actions - methods just need an "Action" s...
MVC                 Action Arguments                         Arguments are defined by declaring them in the action method  ...
DEMO                Hitchhikers Guide to FLOW3   Inspiring people to                                              shareMit...
Mittwoch, 20. Mai 2009
Validation                Hitchhikers Guide to FLOW3   Inspiring people to                                              sh...
Validating Arguments                         All arguments passed to an Action Controller are automatically validated     ...
Validating Arguments                         FLOW3 comes with a bunch of built in validators:                           Al...
Validation Rules Definition                             All validation rules are defined by annotations in place           ...
Validation Rules Definition                         /**                           * Create action for this controller.    ...
DEMO                Hitchhikers Guide to FLOW3   Inspiring people to                                              shareMit...
Security                Hitchhikers Guide to FLOW3   Inspiring people to                                              shar...
Routing                Hitchhikers Guide to FLOW3   Inspiring people to                                              share...
Caching                Hitchhikers Guide to FLOW3   Inspiring people to                                              share...
Progress                             Developing TYPO3 5.0 ...                Development with FLOW3                  Inspi...
DEMO                Hitchhikers Guide to FLOW3   Inspiring people to                                              shareMit...
Playground                Hitchhikers Guide to FLOW3   Inspiring people to                                              sh...
Things to play with                 F3BLOG                         Try out the Blog Example:                         svn c...
Things to play with                 TYPO3CR Admin                         Play with persistence and watch your object in t...
Things to play with                 Testrunner                         Experiment with Test-Driven Development and watch t...
Links                         FLOW3 Website                         http://flow3.typo3.org                         TYPO3 Fo...
Further Reading                 http://flow3.typo3.org/about/principles/further-reading/                 Beat             ...
Questions                Hitchhikers Guide to FLOW3   Inspiring people to                                              sha...
Mittwoch, 20. Mai 2009
Mittwoch, 20. Mai 2009
Upcoming SlideShare
Loading in …5
×

T3DD09: Hitchhiker’s Guide to FLOW3

866 views

Published on

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

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
866
On SlideShare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

T3DD09: Hitchhiker’s Guide to FLOW3

  1. 1. Hitchhikers Guide to FLOW3 T3DD09, Elmshorn, GermanyMittwoch, 20. Mai 2009
  2. 2. The History of FLOW3 (short version)Mittwoch, 20. Mai 2009
  3. 3. Mittwoch, 20. Mai 2009
  4. 4. 1998Mittwoch, 20. Mai 2009
  5. 5. Mittwoch, 20. Mai 2009 33
  6. 6. 500.000Mittwoch, 20. Mai 2009
  7. 7. 300.000Mittwoch, 20. Mai 2009
  8. 8. Mittwoch, 20. Mai 2009
  9. 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 Mihály Csíkszentmihályi , the concept has been widely referenced across a variety of fields. FLOW3 [fl!three] The application framework which takes care of all hassle and lets you play the fun part. Hitchhikers Guide to FLOW3 Inspiring people to shareMittwoch, 20. Mai 2009
  10. 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 Mihály Csíkszentmihályi , the concept has been widely referenced across a variety of fields. 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#j i] Hitchhikers Guide to FLOW3 Inspiring people to shareMittwoch, 20. Mai 2009
  11. 11. FLOW3 = Application Framework Not just a collection of components or code snippet library Comes with ready-to-go default configuration Package based Tailored to Domain-Driven Design Hitchhikers Guide to FLOW3 Inspiring people to shareMittwoch, 20. Mai 2009
  12. 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 infrastructure Hitchhikers Guide to FLOW3 Inspiring people to shareMittwoch, 20. Mai 2009
  13. 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 applications Hitchhikers Guide to FLOW3 Inspiring people to shareMittwoch, 20. Mai 2009
  14. 14. FLOW3 sub packages AOP Log Reflection Component Monitor Resource Configuration MVC Session Cache Object SignalSlot Error Package Validation Locale Persistence ... and more Hitchhikers Guide to FLOW3 Inspiring people to shareMittwoch, 20. Mai 2009
  15. 15. Getting Started Hitchhikers Guide to FLOW3 Inspiring people to shareMittwoch, 20. Mai 2009
  16. 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 to shareMittwoch, 20. Mai 2009
  17. 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 1st Hitchhikers Guide to FLOW3 Inspiring people to shareMittwoch, 20. Mai 2009
  18. 18. Getting Started Grant File Permissions The webserver needs read access for all files of the distribution and write access in the Public and Data directory On Linux / Mac just call sudo ./fixpermissions.sh On legacy operating systems: ask your system administrator Hitchhikers Guide to FLOW3 Inspiring people to shareMittwoch, 20. Mai 2009
  19. 19. Model - View - Controller Hitchhikers Guide to FLOW3 Inspiring people to shareMittwoch, 20. Mai 2009
  20. 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 defines the behaviour in the FLOW3 project we prefer a special kind of model, the Domain Model Hitchhikers Guide to FLOW3 Inspiring people to shareMittwoch, 20. Mai 2009
  21. 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 it Hitchhikers Guide to FLOW3 Inspiring people to shareMittwoch, 20. Mai 2009
  22. 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 rendering Hitchhikers Guide to FLOW3 Inspiring people to shareMittwoch, 20. Mai 2009
  23. 23. MVC Action Controller An action controller accepts a request evaluates arguments calls the action defined in the request and adds output to the response Hitchhikers Guide to FLOW3 Inspiring people to shareMittwoch, 20. Mai 2009
  24. 24. MVC Action Controller: Important Methods Actions - methods just need an "Action" suffix: 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 to shareMittwoch, 20. Mai 2009
  25. 25. MVC Action Arguments Arguments are defined by declaring them in the action method Argument data types are defined by type hint and documentation /** * Action that displays one single post * * @param F3BlogDomainModelPost $post The post to display * @return void * @author Robert Lemke <robert@typo3.org> */ public function showAction(F3BlogDomainModelPost $post) { Hitchhikers Guide to FLOW3 Inspiring people to shareMittwoch, 20. Mai 2009
  26. 26. DEMO Hitchhikers Guide to FLOW3 Inspiring people to shareMittwoch, 20. Mai 2009
  27. 27. Mittwoch, 20. Mai 2009
  28. 28. Validation Hitchhikers Guide to FLOW3 Inspiring people to shareMittwoch, 20. Mai 2009
  29. 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 future Hitchhikers Guide to FLOW3 Inspiring people to shareMittwoch, 20. Mai 2009
  30. 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 FLOW3 Inspiring people to shareMittwoch, 20. Mai 2009
  31. 31. Validation Rules Definition All validation rules are defined by annotations in place Additional rules may be defined programmatically class Blog { /** * The blogs name. Also acts as the identifier. * * @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. 32. Validation Rules Definition /** * Create action for this controller. * * @param string $emailAddress * @return string The rendered view * @author Robert Lemke <robert@typo3.org> * @validate $emailAddress EmailAddress */ public function createAction($emailAddress) { } Hitchhikers Guide to FLOW3 Inspiring people to shareMittwoch, 20. Mai 2009
  33. 33. DEMO Hitchhikers Guide to FLOW3 Inspiring people to shareMittwoch, 20. Mai 2009
  34. 34. Security Hitchhikers Guide to FLOW3 Inspiring people to shareMittwoch, 20. Mai 2009
  35. 35. Routing Hitchhikers Guide to FLOW3 Inspiring people to shareMittwoch, 20. Mai 2009
  36. 36. Caching Hitchhikers Guide to FLOW3 Inspiring people to shareMittwoch, 20. Mai 2009
  37. 37. Progress Developing TYPO3 5.0 ... Development with FLOW3 Inspiring people to shareMittwoch, 20. Mai 2009
  38. 38. DEMO Hitchhikers Guide to FLOW3 Inspiring people to shareMittwoch, 20. Mai 2009
  39. 39. Playground Hitchhikers Guide to FLOW3 Inspiring people to shareMittwoch, 20. Mai 2009
  40. 40. Things to play with F3BLOG Try out the Blog Example: svn co https://svn.typo3.org/FLOW3/Distribution/branches/BlogExample/ Hitchhikers Guide to FLOW3 Inspiring people to shareMittwoch, 20. Mai 2009
  41. 41. Things to play with TYPO3CR Admin Play with persistence and watch your object in the TYPO3CR Admin Hitchhikers Guide to FLOW3 Inspiring people to shareMittwoch, 20. Mai 2009
  42. 42. Things to play with Testrunner Experiment with Test-Driven Development and watch the tests in FLOW3s test runner Hitchhikers Guide to FLOW3 Inspiring people to shareMittwoch, 20. Mai 2009
  43. 43. Links FLOW3 Website http://flow3.typo3.org TYPO3 Forge http://forge.typo3.org Coding Guidelines http://flow3.typo3.org/documentation/coding-guidelines/ Further Reading http://flow3.typo3.org/about/principles/further-reading/ Hitchhikers Guide to FLOW3 Inspiring people to shareMittwoch, 20. Mai 2009
  44. 44. Further Reading http://flow3.typo3.org/about/principles/further-reading/ Beat http://beat.typo3.org Hitchhikers Guide to FLOW3 Inspiring people to shareMittwoch, 20. Mai 2009
  45. 45. Questions Hitchhikers Guide to FLOW3 Inspiring people to shareMittwoch, 20. Mai 2009
  46. 46. Mittwoch, 20. Mai 2009
  47. 47. Mittwoch, 20. Mai 2009

×