Framework Overview

  • May 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Framework Overview as PDF for free.

More details

  • Words: 1,497
  • Pages: 22
Joomla 1.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.

Framework 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

Classes JFactory •

This class is a factory class to create and return various framework objects.

JVersion •

Class to hold the Joomla! version information.

Application Package 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.

Joomla Framework Application Package

JApplication

Cache Package Overview This package contains JCache the abstract class which all caching handlers extend.

Joomla Framework Cache Package

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.

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.

Common Package Overview

Joomla Framework Common Package

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 • •

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".

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

Joomla Framework Connector Package

JLDAP A LDAP client class

JFTP A FTP client class

Database Package Overview

Joomla Framework Database Package

JDatabase • • •

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.

JQuery •

This class is a query builder.

JSimpleRecordSet •

This is a class to emulate the adodb record set class for easy integration with third party libraries.

Document Package

Overview

Joomla Framework Document Package

JDocument • •



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

Joomla Framework Filesystem Package

JArchive •

This is a static class for handling operations on an archive.

JFile •

This is a static class for handling operations on a file.

JFolder •

This is a static class for handling operations on a folder.

JPath •

This is a static class for handling operations on a path.

i18n Package Overview •

This package holds classes that provide internationalization features to Joomla!.

Joomla Framework i18n Package

JLanguage •

A singleton design pattern. Represents a localization language.

JText •

A static class - the work horse of string tranlations

JString •

A wrapper class for the utf-8 string function library. Provides the API for multi-byte character string functions.

JHelp •

Is the multi-language help system class

Installer Package

Overview This packages contains classes that manage the installation process of Joomla! extensions.

Joomla Framework Installer Package

JInstaller • •

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.

Adapter Folder JInstallerComponent •

Class to install a Joomla! Component

JInstallerLanguage •

Class to install a Joomla! Language

JInstallerModule •

Class to install a Joomla! Module

JInstallerPlugin •

Class to install a Joomla! Plugin

JInstallerTemplate •

Class to install a Joomla! Template

Mail Package Overview

Joomla Framework Mail Package

JMail •

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 •

The elements are represented by the abstract JElement class.

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

Joomla Framework Registry Package

JRegistry •

This class implements a configuration value store. It allows nested levels of configuration values in a tree data structure.

JRegistryFormat •

Abstract file for handling data file formats

Format Folder JRegistryFormatINI •

INI file format handler for JRegistry

JRegistryFormatXML •

XML file format handler for JRegistry

JRegistryFormatPHP •

PHP class file format handler for JRegistry

Template Package

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.

Utilities Package

Overview

Joomla Framework Utilities Package

JError •

Static class for error handling in Joomla!

JDebugHandler •

This class is a handler for debugging information

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 •

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

Related Documents