Download - Phpbootcamp Joomla Framework 22883
![Page 1: Phpbootcamp Joomla Framework 22883](https://reader034.vdocument.in/reader034/viewer/2022051323/54874a1a5906b5d80c8b459c/html5/thumbnails/1.jpg)
Joomla! Framework
PHPBootCamp NL, June 2007
TextStick to the code !
The code is not like rules it’s more a set of guidelines
![Page 2: Phpbootcamp Joomla Framework 22883](https://reader034.vdocument.in/reader034/viewer/2022051323/54874a1a5906b5d80c8b459c/html5/thumbnails/2.jpg)
http://www.joomla.org 1
About me
Johan ‘Jinx’ JanssensJoomla! Project manager and lead developer
Creative Commons Attribution-Noncommercial-Share Alike 2.0
![Page 3: Phpbootcamp Joomla Framework 22883](https://reader034.vdocument.in/reader034/viewer/2022051323/54874a1a5906b5d80c8b459c/html5/thumbnails/3.jpg)
http://www.joomla.org 2
What is Joomla!
Open Source Content Management System
Jumla (Swahili) : all together
Founded in september 2006
Rebrand from Mambo
Creative Commons Attribution-Noncommercial-Share Alike 2.0
![Page 4: Phpbootcamp Joomla Framework 22883](https://reader034.vdocument.in/reader034/viewer/2022051323/54874a1a5906b5d80c8b459c/html5/thumbnails/4.jpg)
http://www.joomla.org 3
zendCreative Commons Attribution-Noncommercial-Share Alike 2.0
![Page 5: Phpbootcamp Joomla Framework 22883](https://reader034.vdocument.in/reader034/viewer/2022051323/54874a1a5906b5d80c8b459c/html5/thumbnails/5.jpg)
http://www.joomla.org 4
symfonyCreative Commons Attribution-Noncommercial-Share Alike 2.0
![Page 6: Phpbootcamp Joomla Framework 22883](https://reader034.vdocument.in/reader034/viewer/2022051323/54874a1a5906b5d80c8b459c/html5/thumbnails/6.jpg)
http://www.joomla.org 5
joomlaCreative Commons Attribution-Noncommercial-Share Alike 2.0
![Page 7: Phpbootcamp Joomla Framework 22883](https://reader034.vdocument.in/reader034/viewer/2022051323/54874a1a5906b5d80c8b459c/html5/thumbnails/7.jpg)
http://www.joomla.org 6
situation
Content Management Framework
Web Application Framework
PHP Class Library
Joomla!
Symfony
Zend
Creative Commons Attribution-Noncommercial-Share Alike 2.0
![Page 8: Phpbootcamp Joomla Framework 22883](https://reader034.vdocument.in/reader034/viewer/2022051323/54874a1a5906b5d80c8b459c/html5/thumbnails/8.jpg)
http://www.joomla.org 7
Intro
1. Goals
2. Philosophy
2. Architecture
3. Framework
Creative Commons Attribution-Noncommercial-Share Alike 2.0
![Page 9: Phpbootcamp Joomla Framework 22883](https://reader034.vdocument.in/reader034/viewer/2022051323/54874a1a5906b5d80c8b459c/html5/thumbnails/9.jpg)
http://www.joomla.org 8
Goals
Goals
Creative Commons Attribution-Noncommercial-Share Alike 2.0
![Page 10: Phpbootcamp Joomla Framework 22883](https://reader034.vdocument.in/reader034/viewer/2022051323/54874a1a5906b5d80c8b459c/html5/thumbnails/10.jpg)
http://www.joomla.org 9
Goals
Joomla! 1.5 Goals
1. Internationalisation
2. Application framework
3. Extendibility
4. Accessibility/Usability
5. Backwards compatiblity
Creative Commons Attribution-Noncommercial-Share Alike 2.0
![Page 11: Phpbootcamp Joomla Framework 22883](https://reader034.vdocument.in/reader034/viewer/2022051323/54874a1a5906b5d80c8b459c/html5/thumbnails/11.jpg)
http://www.joomla.org 10
Goals
ww.ohloh.net
Creative Commons Attribution-Noncommercial-Share Alike 2.0
![Page 12: Phpbootcamp Joomla Framework 22883](https://reader034.vdocument.in/reader034/viewer/2022051323/54874a1a5906b5d80c8b459c/html5/thumbnails/12.jpg)
http://www.joomla.org 11
Philosophy
Philosophy
Creative Commons Attribution-Noncommercial-Share Alike 2.0
![Page 13: Phpbootcamp Joomla Framework 22883](https://reader034.vdocument.in/reader034/viewer/2022051323/54874a1a5906b5d80c8b459c/html5/thumbnails/13.jpg)
http://www.joomla.org 12
Philosophy
Joomla! concepts
opensource content management
• freedom
• choice
• control
• fun
• keep is small simple (KISS)
• be flexible and agile
• design to be extendible
• reduce choice
• use the 80/20 principle Richard Koche : www.the8020principle.com/
Barry Swharts : video.google.com/videoplay?docid=6127548813950043200
Creative Commons Attribution-Noncommercial-Share Alike 2.0
![Page 14: Phpbootcamp Joomla Framework 22883](https://reader034.vdocument.in/reader034/viewer/2022051323/54874a1a5906b5d80c8b459c/html5/thumbnails/14.jpg)
http://www.joomla.org 13
Architecture
Architecture
Creative Commons Attribution-Noncommercial-Share Alike 2.0
![Page 15: Phpbootcamp Joomla Framework 22883](https://reader034.vdocument.in/reader034/viewer/2022051323/54874a1a5906b5d80c8b459c/html5/thumbnails/15.jpg)
http://www.joomla.org 14
ArchitectureCreative Commons Attribution-Noncommercial-Share Alike 2.0
![Page 16: Phpbootcamp Joomla Framework 22883](https://reader034.vdocument.in/reader034/viewer/2022051323/54874a1a5906b5d80c8b459c/html5/thumbnails/16.jpg)
http://www.joomla.org 15
Architecture
Joomla! CMS
Creative Commons Attribution-Noncommercial-Share Alike 2.0
![Page 17: Phpbootcamp Joomla Framework 22883](https://reader034.vdocument.in/reader034/viewer/2022051323/54874a1a5906b5d80c8b459c/html5/thumbnails/17.jpg)
http://www.joomla.org 16
Architecture
Joomla! CMS
Joomla! CMF
Creative Commons Attribution-Noncommercial-Share Alike 2.0
![Page 18: Phpbootcamp Joomla Framework 22883](https://reader034.vdocument.in/reader034/viewer/2022051323/54874a1a5906b5d80c8b459c/html5/thumbnails/18.jpg)
http://www.joomla.org 17
Architecture
Joomla! CMS
Joomla! CMF
Extensions
Creative Commons Attribution-Noncommercial-Share Alike 2.0
![Page 19: Phpbootcamp Joomla Framework 22883](https://reader034.vdocument.in/reader034/viewer/2022051323/54874a1a5906b5d80c8b459c/html5/thumbnails/19.jpg)
http://www.joomla.org 18
Architecture
Joomla! CMS
Joomla! CMF
Extensions
Application
Creative Commons Attribution-Noncommercial-Share Alike 2.0
![Page 20: Phpbootcamp Joomla Framework 22883](https://reader034.vdocument.in/reader034/viewer/2022051323/54874a1a5906b5d80c8b459c/html5/thumbnails/20.jpg)
http://www.joomla.org 19
Architecture
Joomla! CMS
Joomla! CMF
Extensions
Application
Framework
Creative Commons Attribution-Noncommercial-Share Alike 2.0
![Page 21: Phpbootcamp Joomla Framework 22883](https://reader034.vdocument.in/reader034/viewer/2022051323/54874a1a5906b5d80c8b459c/html5/thumbnails/21.jpg)
http://www.joomla.org 20
Architecture
Joomla ! CMS
Joomla! CMF
Libraries Plugins
Extensions
Application
Framework
Creative Commons Attribution-Noncommercial-Share Alike 2.0
![Page 22: Phpbootcamp Joomla Framework 22883](https://reader034.vdocument.in/reader034/viewer/2022051323/54874a1a5906b5d80c8b459c/html5/thumbnails/22.jpg)
http://www.joomla.org 21
Architecture
Joomla ! CMS
Joomla! CMF
XML-RPCInstallationSiteAdministrator
Libraries Plugins
Extensions
Application
Framework
Creative Commons Attribution-Noncommercial-Share Alike 2.0
![Page 23: Phpbootcamp Joomla Framework 22883](https://reader034.vdocument.in/reader034/viewer/2022051323/54874a1a5906b5d80c8b459c/html5/thumbnails/23.jpg)
http://www.joomla.org 22
Architecture
Joomla ! CMS
Joomla! CMF
Components Modules Templates Languages
XML-RPCInstallationSiteAdministrator
Libraries Plugins
Extensions
Application
Framework
Creative Commons Attribution-Noncommercial-Share Alike 2.0
![Page 24: Phpbootcamp Joomla Framework 22883](https://reader034.vdocument.in/reader034/viewer/2022051323/54874a1a5906b5d80c8b459c/html5/thumbnails/24.jpg)
http://www.joomla.org 23
Framework
Framework
Creative Commons Attribution-Noncommercial-Share Alike 2.0
![Page 25: Phpbootcamp Joomla Framework 22883](https://reader034.vdocument.in/reader034/viewer/2022051323/54874a1a5906b5d80c8b459c/html5/thumbnails/25.jpg)
http://www.joomla.org 24
Framework
Why yet another PHP framework ?
Zend Mojavi
CakePHP
PHPWACT
Mojavi
PHPOnTrax
Studs Prado
CodeIgniter
SymfonyAchievo
Creative Commons Attribution-Noncommercial-Share Alike 2.0
![Page 26: Phpbootcamp Joomla Framework 22883](https://reader034.vdocument.in/reader034/viewer/2022051323/54874a1a5906b5d80c8b459c/html5/thumbnails/26.jpg)
http://www.joomla.org 25
Framework
Framework principles
1. Pragmatic programming concepts
2. Object Oriented API
4. Modularised design
5. Focussed on content management
6. Build for PHP4 and upwards compatible with PHP5
Creative Commons Attribution-Noncommercial-Share Alike 2.0
![Page 27: Phpbootcamp Joomla Framework 22883](https://reader034.vdocument.in/reader034/viewer/2022051323/54874a1a5906b5d80c8b459c/html5/thumbnails/27.jpg)
http://www.joomla.org 26
Framework
Framework concepts
1. Decouple as much as possible
2. Use design patterns where possible
3. Don’t repeat yourself (DRY)
4. Remember the big picture
5. Create declarative interfaces
6. Keep it dry, shy, and tell the other guywww.pragmaticprogrammer.com/articles/may_04_oo1.pdf
Creative Commons Attribution-Noncommercial-Share Alike 2.0
![Page 28: Phpbootcamp Joomla Framework 22883](https://reader034.vdocument.in/reader034/viewer/2022051323/54874a1a5906b5d80c8b459c/html5/thumbnails/28.jpg)
http://www.joomla.org 27
Framework
Framework design patterns
1. Factory pattern
2. Singleton pattern
3. Template pattern
4. Adapter pattern
5. Composition pattern
6. Registry pattern
7. Observer pattern
8. MVC pattern
Creative Commons Attribution-Noncommercial-Share Alike 2.0
![Page 29: Phpbootcamp Joomla Framework 22883](https://reader034.vdocument.in/reader034/viewer/2022051323/54874a1a5906b5d80c8b459c/html5/thumbnails/29.jpg)
http://www.joomla.org 28
Framework
Framework packages
1. application
2. base
3. cache
4. client
5. database`
6. document
7. environment
8. event
9. filesystem
10. filter
11. html
12. i18n
11. installer
12. registry
13. session
14. template
15. user
16. utilities
Creative Commons Attribution-Noncommercial-Share Alike 2.0
![Page 30: Phpbootcamp Joomla Framework 22883](https://reader034.vdocument.in/reader034/viewer/2022051323/54874a1a5906b5d80c8b459c/html5/thumbnails/30.jpg)
http://www.joomla.org 29
Framework
See also : http://dev.joomla.org/component/option,com_jd-wp/Itemid,33/p,201/
Creative Commons Attribution-Noncommercial-Share Alike 2.0
![Page 31: Phpbootcamp Joomla Framework 22883](https://reader034.vdocument.in/reader034/viewer/2022051323/54874a1a5906b5d80c8b459c/html5/thumbnails/31.jpg)
http://www.joomla.org 30
Future
What about the future ?
Creative Commons Attribution-Noncommercial-Share Alike 2.0
![Page 32: Phpbootcamp Joomla Framework 22883](https://reader034.vdocument.in/reader034/viewer/2022051323/54874a1a5906b5d80c8b459c/html5/thumbnails/32.jpg)
http://www.joomla.org 31
FutureCreative Commons Attribution-Noncommercial-Share Alike 2.0
![Page 33: Phpbootcamp Joomla Framework 22883](https://reader034.vdocument.in/reader034/viewer/2022051323/54874a1a5906b5d80c8b459c/html5/thumbnails/33.jpg)
http://www.joomla.org 32
Questions
Questions ?
Stump the geek
Creative Commons Attribution-Noncommercial-Share Alike 2.0
![Page 34: Phpbootcamp Joomla Framework 22883](https://reader034.vdocument.in/reader034/viewer/2022051323/54874a1a5906b5d80c8b459c/html5/thumbnails/34.jpg)
http://www.joomla.org 33
References
References
• Download 1.5 nightly http://dev.joomla.org/content/view/17/60/
• Screenshots of 1.5 http://joomla15.blogspot.com
Creative Commons Attribution-Noncommercial-Share Alike 2.0