Académique Documents
Professionnel Documents
Culture Documents
5 Framework Overview
General
Joomla! 1.5 is a three tiered system.
1. The bottom tier is the framework level and consists of the libraries and plugins
(formerly known as mambots).
2. The second tier is the application level and consists of the JApplication class.
Currently there are three applications that ship with Joomla:
1. JInstallation,
2. JAdministrator and
3. JSite.
3. The third tier is the extension level. This level is where all component, module, and
template logic is executed and rendered.
Framework Packages:
1. Application Package :JApplication and related libraries
2. Cache Package :Cache libraries
3. Common Package :The common package houses the base classes as well as
compatability and legacy libraries
4. Connector Package:Connector libraries such as FTP and LDAP clients
5. Database Package :JDatabase and related libraries
6. Document Package : Libraries for building and rendering pages
7. Filesystem Package :Libraries for interacting with the filesystem
8. i18n Package :Internationalization libraries
9. Installer Package :Libraries for installing extensions
10. Mail Package :E-Mail related libraries
11. Model Package:Data Access Object libraries
12. Parameter Package :Parameter manipulation and rendering libraries
13. Registry Package :Configuration store libraries
14. Template Package :Templating libraries
15. Utilities Package :Miscellaneous libraries
Classes
JFactory
• This class is a factory class to create and return various framework objects.
JVersion
Overview
The Application package includes libraries that are closely tied with the main application object.
The main classes of the application package are listed below.
JApplication
Cache Package
Overview This package contains JCache the abstract class which all caching handlers extend.
Adapters
JCacheFunction
• This adapter is used to cache the output and return value of a function. It can cache a
function or a method of a static class or object.
JCacheHash :
• This adapter is used for caching hashes and is provided for forward compatability with
the phpGACL implementation.
Common Package
Overview
Base Folder
JObject
• The JObject class is an abstract class that nearly all framework classes inherit from.
• It emulates PHP5 functionality in PHP4 and provides basic get/set methods on object
fields.
JObserver
• JObserver is one of two abstract classes that implement the Observer design pattern.
• A class that extends JObserver is able to attach itself to a JObservable object and observe
the state of the observable object.
• This is an equivalent of the JObserver object listening for an event fired by the
JObservable class it is attached to.
JObservable
Compatability Folder
• This folder holds compatability files which are loaded as necessary depending upon the
version of PHP executing the Joomla! script.
Legacy Folder
• This folder holds files which contain legacy code.
• Everything within this folder is deprecated and scheduled to be removed.
• It is provided only for backward compatability.
Connector Package
Overview
JFTP
Database Package
Overview
JDatabase
JSimpleRecordSet
• This is a class to emulate the adodb record set class for easy integration with third party
libraries.
Document Package
Overview
• Abstract document class, provides an easy interface to parse and display a document.
• This class is extended by JDocumentHTML for HTML documents.
• This package also includes some extensions of patTemplate for applying document
specific template functions, place-holders and renderings.
Filesystem Package
Overview
JArchive
JFile
JFolder
JPath
Overview
JLanguage
JText
JString
• A wrapper class for the utf-8 string function library. Provides the API for multi-byte
character string functions.
JHelp
Overview
This packages contains classes that manage the installation process of Joomla! extensions.
JInstaller
JInstallerLanguage
JInstallerModule
JInstallerPlugin
JInstallerTemplate
Mail Package
Overview
• This class extends PHPMailer and provides a common interface API for sending e-mail
from the Joomla! framework.
JMailHelper
• This static class has several methods that provide useful functionality for e-mail
operations
Model Package
Overview This package contains the classes that represent all data objects.
Joomla Framework Model Package
JModel
• This abstract class is the base class for all Joomla! data access objects.
Adapter Folder
JModelCategory
• This is a data access object for a Joomla! category and represents a tuple in the
#__categories table
JModelComponent
• This is a data access object for a Joomla! component and represents a tuple in the
#__components table
JModelContent
• This is a data access object for a Joomla! content item and represents a tuple in the
#__content table
JModelMenu
• This is a data access object for a Joomla! menu item and represents a tuple in the
#__menus table
JModelModule
• This is a data access object for a Joomla! module and represents a tuple in the
#__modules table
JModelPlugins
• This is a data access object for a Joomla! plugin and represents a tuple in the #__plugins
table
JModelSection
• This is a data access object for a Joomla! section and represents a tuple in the #__sections
table
JModelSession
• This is a data access object for a Joomla! session and represents a tuple in the #__sessions
table
JModelUser
• This is a data access object for a Joomla! user and represents a tuple in the #__users table
Parameter Package
Overview :The parameter package contains classes that provide all parameter handling.
Joomla Framework Parameter Package
JParameter
• The main class is JParameter which contains lists of relevent parameter elements.
JElement
Element Folder
• Extensions of the JElement class are found in the element folder and provide the
functionality to fetch parameter elements and lists for various entities.
Registry Package
Overview
JRegistry
JRegistryFormat
Format Folder
JRegistryFormatINI
JRegistryFormatPHP
Template Package
Overview
Utilities Package
Overview
JError
JDebugHandler
JProfiler
• This class implements a profiler for getting benchmark and debugging data
Functions Library
• Library of common Joomla! functions
Presentation Folder
JEditor
• This is a class which extends the JObservable base class and handles WYSIWYG editor
output
JPagination