This action might not be possible to undo. Are you sure you want to continue?
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. The application acts as the main controller for the page.
3. The third tier is the extension level. This level is where all component, module, and
template logic is executed and rendered.
Joomla Tiered Architecture
The Joomla! Framework consists of several different packages.
1. 2. 3.
Application Package :JApplication and related libraries Cache Package :Cache libraries 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
• This class is a factory class to create and return various framework objects.
• Class to hold the Joomla! version information.
The Application package includes libraries that are closely tied with the main application object. The main classes of the application package are listed below.
Joomla Framework Application Package
Overview This package contains JCache the abstract class which all caching handlers extend.
Joomla Framework Cache Package
• 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.
This adapter is used for caching hashes and is provided for forward compatability with the phpGACL implementation.
JCacheLanguage :This adapter is used to cache language files.
JCacheOutput:This adapter is used to cache output to the php output buffer. JCachePage :This adapter is used to cache a page's output.
Joomla Framework Common Package
• • 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 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 is the abstract class that interacts with JObserver. It has a method to notify all JObserver objects observing it of an event or "state change".
• This folder holds compatability files which are loaded as necessary depending upon the version of PHP executing the Joomla! script.
• • • 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.
Joomla Framework Connector Package
A LDAP client class
A FTP client class
Joomla Framework Database Package
• • • This is an abstract class representing a database connector. The current implemented extensions of JDatabase are JDatabaseMySQL and JDatabaseMySQLi. JDatabase follows an adapter pattern, therefore all the extended classes sit in an adapters sub-folder.
• This class is a query builder.
• This is a class to emulate the adodb record set class for easy integration with third party libraries.
Joomla Framework Document Package
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.
Joomla Framework Filesystem Package
• This is a static class for handling operations on an archive.
• This is a static class for handling operations on a file.
• This is a static class for handling operations on a folder.
• This is a static class for handling operations on a path.
Overview • This package holds classes that provide internationalization features to Joomla!.
Joomla Framework i18n Package
• A singleton design pattern. Represents a localization language.
• A static class - the work horse of string tranlations
• A wrapper class for the utf-8 string function library. Provides the API for multi-byte character string functions.
• Is the multi-language help system class
Overview This packages contains classes that manage the installation process of Joomla! extensions.
Joomla Framework Installer Package
• • This is the abstract class that all installer classes extend. It implements nearly every method that an installer will need short of the actual install and uninstall methods.
• Class to install a Joomla! Component
• Class to install a Joomla! Language
• Class to install a Joomla! Module
• Class to install a Joomla! Plugin
• Class to install a Joomla! Template
Joomla Framework Mail Package
• This class extends PHPMailer and provides a common interface API for sending e-mail from the Joomla! framework.
• This static class has several methods that provide useful functionality for e-mail operations
Overview This package contains the classes that represent all data objects.
Joomla Framework Model Package
• This abstract class is the base class for all Joomla! data access objects.
• This is a data access object for a Joomla! category and represents a tuple in the #__categories table
• This is a data access object for a Joomla! component and represents a tuple in the #__components table
• This is a data access object for a Joomla! content item and represents a tuple in the #__content table
• This is a data access object for a Joomla! menu item and represents a tuple in the #__menus table
• This is a data access object for a Joomla! module and represents a tuple in the #__modules table
• This is a data access object for a Joomla! plugin and represents a tuple in the #__plugins table
• This is a data access object for a Joomla! section and represents a tuple in the #__sections table
• This is a data access object for a Joomla! session and represents a tuple in the #__sessions table
• This is a data access object for a Joomla! user and represents a tuple in the #__users table
Overview :The parameter package contains classes that provide all parameter handling.
Joomla Framework Parameter Package
The main class is JParameter which contains lists of relevent parameter elements.
The elements are represented by the abstract JElement class.
• Extensions of the JElement class are found in the element folder and provide the functionality to fetch parameter elements and lists for various entities.
Joomla Framework Registry Package
• This class implements a configuration value store. It allows nested levels of configuration values in a tree data structure.
• Abstract file for handling data file formats
• INI file format handler for JRegistry
• XML file format handler for JRegistry
• PHP class file format handler for JRegistry
Overview Joomla Framework Template Package •
This package contains Joomla's API to patTemplate handling classes. The main class in the package is JTemplate which provides an easy interface to parse and display a template file and extends patTemplate. The package includes classes to apply Joomla SEF and translate methods to patTemplate function and modifier. Several global templates are stored in the tmpl sub-directory.
Joomla Framework Utilities Package
• Static class for error handling in Joomla!
• This class is a handler for debugging information
• This class implements a profiler for getting benchmark and debugging data
Library of common Joomla! functions
• This is a class which extends the JObservable base class and handles WYSIWYG editor output
• This is a class for handling pagination output.
HTML Functions Library
Library of HTML output functions This package is home for JError and JDebugHandler error handling classes, the legacy functions script, JProfiler, JPagination which is a common interface for content pagination, legacy HTML handling classes and JEditor to handle WSIWYG editors
This action might not be possible to undo. Are you sure you want to continue?
We've moved you to where you read on your other device.
Get the full title to continue reading from where you left off, or restart the preview.