Joomla! Frappe - Κατασκευή εφαρμογών για το Joomla! χωρίς να...

33
!ά#$%&’ 2013 – 1& Joomla! Frappé Ανά π τυξη εφαρμογών για Joomla! !"#ί% &’ (#’)ά(+ (’ ,’--.ά /’% ,+ (0 FOF

Transcript of Joomla! Frappe - Κατασκευή εφαρμογών για το Joomla! χωρίς να...

  • 1. Joomla!!"#% & (#)(+ ( ,--. /% ,+ (0 FOF!#$%& 2013 1& Joomla! Frapp

2. FOF?!#$%& 2013 1& Joomla! Frapp 3. , !. 2+ ,04, !., !. --0 & 6(#,&0 framework!!#$%& 2013 1& Joomla! Frapp 4. FOF Joomla! framework7+& (0 &(.68./( 9-#"%!#$%& 2013 1& Joomla! Frapp 5. DRY - !"# (0 copy/paste (04 ;.04 6;.6 =& 6. =& 6. =& !"# $"% !"# $"% 6. =& 6. =&...!#$%& 2013 1& Joomla! Frapp 6. Convention over conguration -.>(+#0% !#&0%, 690%, 6;.6% 6. bugs!#$%& 2013 1& Joomla! Frapp 7. 7+& !+. ,# 604(., -- !+. 9#0/#,0@,+& triggers, >+>0&( 9#0/8("&...!#$%& 2013 1& Joomla! Frapp 8. A4,)( ,+ Joomla! 2.5 6. 3.0.!#$%& 2013 1& Joomla! Frapp 9. 7+& !+. =B&.6%, 60/,0>0&.6% -->% 9(C ,. ,# /(C& --C!#$%& 2013 1& Joomla! Frapp 10. D"% B(/,+ "% +;!#$%& 2013 1& Joomla! Frapp 11. 2009 MVC 7.6% ,04 6-/+.%, +9+6(+&04& (0 JModel 6. /., +-!./(090.0& (0& copy & paste 6;.6!#$%& 2013 1& Joomla! Frapp 12. 2011 frameworkE/.6, ( +! 9#+. ,+ & --0 framework 904 ,04 6&+ (C& @" 9(&.!#$%& 2013 1& Joomla! Frapp 13. THIS. IS. NIKEA!( ) 2011 frameworkE/.6, ( +! 9#+. ,+ & --0 framework 904 ,04 6&+ (C& @" 9(&.!#$%& 2013 1& Joomla! Frapp 14. 2011 HMVC+& +! 60--/+. ,/ /(0 +#09-&0, /(0 ;B0%, /(0 F-. E+&.@-0% >. 4 #+%!#$%& 2013 1& Joomla! Frapp 15. 2012 /(0 /4&;#.0 J and Beyond 2012!#$%& 2013 1& Joomla! Frapp 16. 2012 Bootstrap & jQueryA(0 9#0.#+(.6 96(0 Akeeba Strapper!#$%& 2013 1& Joomla! Frapp 17. 2013 2.0 Joomla! 3(0 0900, (+-.6, +&. 6(. 6-!!#$%& 2013 1& Joomla! Frapp 18. FOFG. +9/6+HC /(0 #0B0 71/2 +&% 6(.#04 >#B+"& /(0 G&!(&!#$%& 2013 1& Joomla! Frapp 19. A!+;% RESTful, -- !. 6. (/0 D#0/>>./C 9#( 0. 49C#+/+%. F&/",(",&C 490/(#.=C JSON6. ;.B&% 48+&(.6090C/C 904 &0>+. (C& 9#( >. 9#0!;+;0,&"& /+ +B#,0>% (web, desktop, mobile 6. ;+&/4,,@++(.) !., (0 OAuth ;+& 490/(C#@+(. (6,;). G. ;.6. ,% )/./,&C/+ TOTP 6. AES-256 ,80;0% ;.B&0% 48+&(.6090C/C% 6. (09- HTTP Basic Authentication 490/(C#@0&(. ;C. D#!04,+ HMVC #&() !"#% & !#+./(+ & =&,8+(+ &B(.!&+(+ +B#,0>% /+ Joomla! (/+ &(8+/C ,+ (0 9#0(+.&,+&0Joomla! Framework, (& 6. & +&. (0.,0) 20. : 6. C /(0.!+.;C% >&/C (C% >>-.6%!#$%& 2013 1& Joomla! Frapp 21. Convention over Configuration 22. Convention over configuration inthe Dispatcher The Dispatcher is your components router. It routes the request to theappropriate Controller based on conventions: A POST request gets routed to the save task A GET request to a plural view name gets routed to the browsetask A front-end GET request with an ID gets routed to the read task A back-end GET request with an ID gets routed to the edit task 23. Convention over configuration inModels Tables are named as #__component_view, e.g. #__todo_items Auto increment eld is named component_view_id, e.g. todo_item_id Magic elds: enabled, created_by, created_on, modied_by,modied_on, locked_by, locked_on, hits You can override defaults without copying & pasting code, ever.Copy & paste is the devil! 24. Convention over configuration inControllers Default tasks (not RESTful!): browse, read, edit, add, delete, save,apply, ... Customize with onBeforeMethod and onAfterMethod methods, e.g.onBeforeSave. Dont copy & paste code. All MVC objects can be passed a $cong array to customize them. It"ows" from dispatcher to component to model and view. FOF guesses the task if its missing based on plural/singular viewname and existence of ID in the query 25. Convention over configuration inViews Views inherit from FOFView and its specialized children, e.g.FOFViewHtml Customize using the onTask methods, e.g. onBrowse The toolbar is handled outside the view, in a FOFToolbar descendantclass. Override it with a toolbar.php le in the components root. Magic toolbar methods, e.g. onItemsBrowse allow you to customizethe toolbar without copying & pasting code. 26. Epic features 27. HMVC Hierarchical MVC Include the results of component views anywhere (other views, othercomponent, modules, ...) FOFDispatcher::getTmpInstance(com_foobar, items, array(layout=> fancy))->dispatch(); 28. Reuse view templates Load a view template from another view, component, ... echo $this->loadAnyTemplate(site:com_foobar/item/form); 29. Media files overrides Load media les like this:FOFTemplateUtils::addCSS(media://com_foobar/css/frontend.css); Media overrides are inside the template folder, e.g.templates/tpl_example/media/com_foobar/css/frontend.css 30. Services first automatic JSONand CSV views Just add format=json or format=csv JSON: You have an instant JSON-based remote API for yourcomponents CSV: You can quickly export whatever you see in the backend toExcel, Numbers, LibreOfce, Google Docs, etc. Transparent authentication support using URL parameters or HTTPBasic Authentication 31. XML-based views Its JForm on double dose of steroids Browse, read and edit views from XML templates You dont need to write any PHP or HTML, but you can mixtraditional PHP-based and XML-based templates, even in the sameview Overridable with Joomla! template overrides 32. Resources and communityhttp://akeeba.info/fof 33. Over and out.