MTM - Flow3

1,105 views

Published on

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,105
On SlideShare
0
From Embeds
0
Number of Embeds
224
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

MTM - Flow3

  1. 1. FLOW3PHP framework podporujúci pokročilé konceptyakými sú dependency injection, aspektovoorientované programovanie Ing. Ondrej Hatala Monogram Technologies
  2. 2. Čo nás dnes čaká? Inštalácia FLOW3 MVC po prvé Routing Dependency Injection Persistence framework Aspektovo orientované programovanie Cache skompilovaných súborov Blog example
  3. 3. Inštalácia FLOW3 git.typo3.org Settings.yaml flow3.bat Štruktúra adresárov ◦ Configuration ◦ Data ◦ Packages ◦ Web
  4. 4. Prvý controller flow3.bat kickstart:package Monogram.Test StandardController, indexAction Fluid Flow3.bat kickstart:actioncontroller Monogram.Test Shop
  5. 5. Routing Routes.yaml Čiastočne podobné mod_rewrite Princíp matchovania patternov Cesta od browseru k controlleru a naspäť Vlastné handlery uriPattern ◦ Static - test ◦ Dynamic – test/{@action} ◦ Object – defaultne uid, @FLOW3Identity
  6. 6. Dependency Injection Inversion of Control (http://martinfowler.com/bliki/Inversion OfControl.html) Hollywood principle - „Don‘t call us, we will call you“ Namiesto hlavného programu ktorý postupne spúšťa podprogramy máme priamo podprogram ktorý dostane všetko čo potrebuje
  7. 7. Dependency Injection Vzťahuje sa na parametre konštruktoru, injectory, settery a properties objektu @FLOW3Inject Autowiring – priame nastavenie / preťaženie @FLOW3 konfigurácie objektu, vhodné pri viacerých implementáciách jedného interface
  8. 8. Persistence Doctrine 2 (http://www.doctrine- project.org/) Kickstarter spraví základné triedy @FLOW3Entity – toto znamená že je to „ukladateľné“ Model aj Repository vygenerujeme cez CLI kickstarter
  9. 9. Persistence Pomocou anotácií sa dajú nastaviť validačné pravidlá Pomocou ORM anotácií sa dajú nastaviť DB columns Skúsime vytvoriť nový produkt Potrebujeme databázové tabuľky – bude to problém?
  10. 10. Persistence flow3.bat doctrine:create Teraz už môžeme ukladať aj načítavať dáta
  11. 11. Aspektové Programovanie Dopĺňa objektové programovanie Umožňuje osamostatnenie jednotlivých aspektov ktoré zasahujú do suverenity iných objektov Typický príklad je napríklad logovanie, security @FLOW3Aspect
  12. 12. Cache skompilovanýchsúborov FLOW3 kompiluje php súbory DataTemporary V skompilovaných súboroch sa rieši dependency injection, lazy loading, aspekty atď
  13. 13. Blog example Príklad routes.xml Tvorba url v šablóne Security policy pravidlá – policy.yaml Validácia formulárov Chybové hlášky
  14. 14. Záver Ďakujem za pozornosť Čas na otázky a komentáre!

×