Difference between revisions of "Framework (CMS 1.5 and 1.6)"

From Joomla! Documentation

m (Added JTableNested class.)
m (Replaced version text with new version icons.)
Line 33: Line 33:
  
 
===Access===
 
===Access===
* [[JAccess]] (from 1.6)
+
* [[JAccess]] {{JVer|1.6}}
* [[JAccessHelper]] (from 1.6)
+
* [[JAccessHelper]] {{JVer|1.6}}
* [[JAccessLevel]] (from 1.6)
+
* [[JAccessLevel]] {{JVer|1.6}}
* [[JSimpleRule]] (from 1.6)
+
* [[JSimpleRule]] {{JVer|1.6}}
  
 
===Application===
 
===Application===
 
* [[JApplication]]
 
* [[JApplication]]
 
* [[JApplicationHelper]]
 
* [[JApplicationHelper]]
* [[JCategoryTree]] (from 1.6)
+
* [[JCategoryTree]] {{JVer|1.6}}
* [[JCategoryNode]] (from 1.6)
+
* [[JCategoryNode]] {{JVer|1.6}}
 
* [[JComponentHelper]]
 
* [[JComponentHelper]]
 
* [[JController]]
 
* [[JController]]
 
* [[JMenu]]
 
* [[JMenu]]
 
* [[JModel]]
 
* [[JModel]]
* [[JModelItem]] (from 1.6)
+
* [[JModelItem]] {{JVer|1.6}}
* [[JModelList]] (from 1.6)
+
* [[JModelList]] {{JVer|1.6}}
 
* [[JModuleHelper]]
 
* [[JModuleHelper]]
 
* [[JPathway]]
 
* [[JPathway]]
Line 55: Line 55:
  
 
===Backup===
 
===Backup===
* [[JBackup]] (from 1.6)
+
* [[JBackup]] {{JVer|1.6}}
* [[JBackupFilesystem]] (from 1.6)
+
* [[JBackupFilesystem]] {{JVer|1.6}}
* [[JBackupSql]] (from 1.6)
+
* [[JBackupSql]] {{JVer|1.6}}
* [[JBackupTable]] (from 1.6)
+
* [[JBackupTable]] {{JVer|1.6}}
  
 
===Base===
 
===Base===
* [[JAdapter]] (from 1.6)
+
* [[JAdapter]] {{JVer|1.6}}
* [[JAdapterInstance]] (from 1.6)
+
* [[JAdapterInstance]] {{JVer|1.6}}
* [[JClass]] (from 1.6)
+
* [[JClass]] {{JVer|1.6}}
 
* [[JObject]]
 
* [[JObject]]
 
* [[JObservable]]
 
* [[JObservable]]
Line 92: Line 92:
 
* [[JDatabaseMySQL]]
 
* [[JDatabaseMySQL]]
 
* [[JDatabaseMySQLi]]
 
* [[JDatabaseMySQLi]]
* [[JDataLoad]] (from 1.6)
+
* [[JDataLoad]] {{JVer|1.6}}
* [[JDataLoaderSQL]] (from 1.6)
+
* [[JDataLoaderSQL]] {{JVer|1.6}}
* [[JQuery]] (from 1.6)
+
* [[JQuery]] {{JVer|1.6}}
* [[JQueryElement]] (from 1.6)
+
* [[JQueryElement]] {{JVer|1.6}}
 
* [[JRecordSet]]
 
* [[JRecordSet]]
 
* [[JTable]]
 
* [[JTable]]
 
* [[JTableARO]]
 
* [[JTableARO]]
 
* [[JTableAROGroup]]
 
* [[JTableAROGroup]]
* [[JTableAsset]] (from 1.6)
+
* [[JTableAsset]] {{JVer|1.6}}
* [[JTableBackup]] (from 1.6)
+
* [[JTableBackup]] {{JVer|1.6}}
* [[JTableBackupEntry]] (from 1.6)
+
* [[JTableBackupEntry]] {{JVer|1.6}}
 
* [[JTableCategory]]
 
* [[JTableCategory]]
 
* [[JTableComponent]]
 
* [[JTableComponent]]
 
* [[JTableContent]]
 
* [[JTableContent]]
* [[JTableExtension]] (from 1.6)
+
* [[JTableExtension]] {{JVer|1.6}}
 
* [[JTableMenu]]
 
* [[JTableMenu]]
 
* [[JTableMenuTypes]]
 
* [[JTableMenuTypes]]
 
* [[JTableModule]]
 
* [[JTableModule]]
* [[JTableNested]] (from 1.6)
+
* [[JTableNested]] {{JVer|1.6}}
 
* [[JTablePlugin]]
 
* [[JTablePlugin]]
 
* [[JTableSection]]
 
* [[JTableSection]]
 
* [[JTableSession]]
 
* [[JTableSession]]
* [[JTableTree]] (from 1.6)
+
* [[JTableTree]] {{JVer|1.6}}
* [[JTableUpdate]] (from 1.6)
+
* [[JTableUpdate]] {{JVer|1.6}}
 
* [[JTableUser]]
 
* [[JTableUser]]
* [[JTableUsergroup]] (from 1.6)
+
* [[JTableUsergroup]] {{JVer|1.6}}
  
 
===Document===
 
===Document===
Line 124: Line 124:
 
* [[JDocumentFeed]]
 
* [[JDocumentFeed]]
 
* [[JDocumentHTML]]
 
* [[JDocumentHTML]]
* [[JDocumentJSON]] (from 1.6)
+
* [[JDocumentJSON]] {{JVer|1.6}}
 
* [[JDocumentPDF]]
 
* [[JDocumentPDF]]
 
* [[JDocumentRaw]]
 
* [[JDocumentRaw]]
Line 131: Line 131:
 
* [[JDocumentRendererComponent]]
 
* [[JDocumentRendererComponent]]
 
* [[JDocumentRendererHead]]
 
* [[JDocumentRendererHead]]
* [[JDocumentRendererInstallation]] (from 1.6)
+
* [[JDocumentRendererInstallation]] {{JVer|1.6}}
 
* [[JDocumentRendererMessage]]
 
* [[JDocumentRendererMessage]]
 
* [[JDocumentRendererModule]]
 
* [[JDocumentRendererModule]]
 
* [[JDocumentRendererModules]]
 
* [[JDocumentRendererModules]]
 
* [[JDocumentRendererRSS]]
 
* [[JDocumentRendererRSS]]
* [[JDocumentVCARD]] (from 1.6)
+
* [[JDocumentVCARD]] {{JVer|1.6}}
* [[JDocumentXML]] (from 1.6)
+
* [[JDocumentXML]] {{JVer|1.6}}
* [[JFeedEnclosure]] (from 1.6)
+
* [[JFeedEnclosure]] {{JVer|1.6}}
* [[JFeedImage]] (from 1.6)
+
* [[JFeedImage]] {{JVer|1.6}}
* [[JFeedItem]] (from 1.6)
+
* [[JFeedItem]] {{JVer|1.6}}
  
 
===Environment===
 
===Environment===
Line 165: Line 165:
 
* [[JArchiveZip]]
 
* [[JArchiveZip]]
 
* [[JFile]]
 
* [[JFile]]
* [[JFilesystem]] (from 1.6)
+
* [[JFilesystem]] {{JVer|1.6}}
* [[JFilesystemFTP]] (from 1.6)
+
* [[JFilesystemFTP]] {{JVer|1.6}}
* [[JFilesystemHelper]] (from 1.6)
+
* [[JFilesystemHelper]] {{JVer|1.6}}
* [[JFilesystemSSH]] (from 1.6)
+
* [[JFilesystemSSH]] {{JVer|1.6}}
* [[JFilesystemPHP]] (from 1.6)
+
* [[JFilesystemPHP]] {{JVer|1.6}}
 
* [[JFolder]]
 
* [[JFolder]]
 
* [[JPath]]
 
* [[JPath]]
* [[JStream]] (from 1.6)
+
* [[JStream]] {{JVer|1.6}}
* [[JStreamString]] (from 1.6)
+
* [[JStreamString]] {{JVer|1.6}}
* [[JStringController]] (from 1.6)
+
* [[JStringController]] {{JVer|1.6}}
  
 
===Filter===
 
===Filter===
Line 181: Line 181:
  
 
===Form===
 
===Form===
* [[JForm]] (from 1.6)
+
* [[JForm]] {{JVer|1.6}}
* [[JFormField]] (from 1.6)
+
* [[JFormField]] {{JVer|1.6}}
* [[JFormFieldAccessLevels]] (from 1.6)
+
* [[JFormFieldAccessLevels]] {{JVer|1.6}}
* [[JFormFieldAccessSections]] (from 1.6)
+
* [[JFormFieldAccessSections]] {{JVer|1.6}}
* [[JFormFieldCalendar]] (from 1.6)
+
* [[JFormFieldCalendar]] {{JVer|1.6}}
* [[JFormFieldCategories]] (from 1.6)
+
* [[JFormFieldCategories]] {{JVer|1.6}}
* [[JFormFieldCheckbox]] (from 1.6)
+
* [[JFormFieldCheckbox]] {{JVer|1.6}}
* [[JFormFieldCombo]] (from 1.6)
+
* [[JFormFieldCombo]] {{JVer|1.6}}
* [[JFormFieldEditor]] (from 1.6)
+
* [[JFormFieldEditor]] {{JVer|1.6}}
* [[JFormFieldEditors]] (from 1.6)
+
* [[JFormFieldEditors]] {{JVer|1.6}}
* [[JFormFieldFile]] (from 1.6)
+
* [[JFormFieldFile]] {{JVer|1.6}}
* [[JFormFieldHelpsites]] (from 1.6)
+
* [[JFormFieldHelpsites]] {{JVer|1.6}}
* [[JFormFieldHidden]] (from 1.6)
+
* [[JFormFieldHidden]] {{JVer|1.6}}
* [[JFormFieldIntegers]] (from 1.6)
+
* [[JFormFieldIntegers]] {{JVer|1.6}}
* [[JFormFieldLanguages]] (from 1.6)
+
* [[JFormFieldLanguages]] {{JVer|1.6}}
* [[JFormFieldList]] (from 1.6)
+
* [[JFormFieldList]] {{JVer|1.6}}
* [[JFormFieldMedia]] (from 1.6)
+
* [[JFormFieldMedia]] {{JVer|1.6}}
* [[JFormFieldPassword]] (from 1.6)
+
* [[JFormFieldPassword]] {{JVer|1.6}}
* [[JFormFieldRadio]] (from 1.6)
+
* [[JFormFieldRadio]] {{JVer|1.6}}
* [[JFormFieldSpacer]] (from 1.6)
+
* [[JFormFieldSpacer]] {{JVer|1.6}}
* [[JFormFieldText]] (from 1.6)
+
* [[JFormFieldText]] {{JVer|1.6}}
* [[JFormFieldTextarea]] (from 1.6)
+
* [[JFormFieldTextarea]] {{JVer|1.6}}
* [[JFormFieldTimezones]] (from 1.6)
+
* [[JFormFieldTimezones]] {{JVer|1.6}}
* [[JFormFieldUserGroups]] (from 1.6)
+
* [[JFormFieldUserGroups]] {{JVer|1.6}}
* [[JFormRule]] (from 1.6)
+
* [[JFormRule]] {{JVer|1.6}}
* [[JFormRuleBoolean]] (from 1.6)
+
* [[JFormRuleBoolean]] {{JVer|1.6}}
* [[JFormRuleEquals]] (from 1.6)
+
* [[JFormRuleEquals]] {{JVer|1.6}}
* [[JFormRuleEmail]] (from 1.6)
+
* [[JFormRuleEmail]] {{JVer|1.6}}
* [[JFormRuleUsername]] (from 1.6)
+
* [[JFormRuleUsername]] {{JVer|1.6}}
* [[JFormValidator]] (from 1.6)
+
* [[JFormValidator]] {{JVer|1.6}}
  
 
===HTML===
 
===HTML===
Line 233: Line 233:
 
* [[JElementLanguages]]
 
* [[JElementLanguages]]
 
* [[JElementList]]
 
* [[JElementList]]
* [[JElementList_AssetGroups]] (from 1.6)
+
* [[JElementList_AssetGroups]] {{JVer|1.6}}
 
* [[JElementMenu]]
 
* [[JElementMenu]]
 
* [[JElementMenuItem]]
 
* [[JElementMenuItem]]
Line 246: Line 246:
 
* [[JElementUserGroup]]
 
* [[JElementUserGroup]]
 
* [[JHtml]]
 
* [[JHtml]]
* [[JHtmlAccess]] (from 1.6)
+
* [[JHtmlAccess]] {{JVer|1.6}}
* [[JHtmlAcl]] (from 1.6)
+
* [[JHtmlAcl]] {{JVer|1.6}}
 
* [[JHtmlBehavior]]
 
* [[JHtmlBehavior]]
 
* [[JHtmlContent]]
 
* [[JHtmlContent]]
Line 257: Line 257:
 
* [[JHtmlMenu]]
 
* [[JHtmlMenu]]
 
* [[JHtmlSelect]]
 
* [[JHtmlSelect]]
* [[JContent]] (from 1.6)
+
* [[JContent]] {{JVer|1.6}}
 
* [[JPagination]]
 
* [[JPagination]]
* [[JPaginationObject]] (from 1.6)
+
* [[JPaginationObject]] {{JVer|1.6}}
 
* [[JPane]]
 
* [[JPane]]
* [[JPaneTabs]] (from 1.6)
+
* [[JPaneTabs]] {{JVer|1.6}}
* [[JPaneSliders]] (from 1.6)
+
* [[JPaneSliders]] {{JVer|1.6}}
 
* [[JParameter]]
 
* [[JParameter]]
 
* [[JToolBar]]
 
* [[JToolBar]]
  
 
===Installer===
 
===Installer===
* [[JDependency]] (from 1.6)
+
* [[JDependency]] {{JVer|1.6}}
* [[JExtension]] (from 1.6)
+
* [[JExtension]] {{JVer|1.6}}
 
* [[JInstaller]]
 
* [[JInstaller]]
 
* [[JInstallerComponent]]
 
* [[JInstallerComponent]]
* [[JInstallerFiles]] (from 1.6)
+
* [[JInstallerFiles]] {{JVer|1.6}}
 
* [[JInstallerHelper]]
 
* [[JInstallerHelper]]
 
* [[JInstallerLanguage]]
 
* [[JInstallerLanguage]]
* [[JInstallerLibrary]] (from 1.6)
+
* [[JInstallerLibrary]] {{JVer|1.6}}
 
* [[JInstallerModule]]
 
* [[JInstallerModule]]
* [[JInstallerPackage]] (from 1.6)
+
* [[JInstallerPackage]] {{JVer|1.6}}
 
* [[JInstallerPlugin]]
 
* [[JInstallerPlugin]]
* [[JInstallerSQL]] (from 1.6)
+
* [[JInstallerSQL]] {{JVer|1.6}}
 
* [[JInstallerTemplate]]
 
* [[JInstallerTemplate]]
* [[JLibraryManifest]] (from 1.6)
+
* [[JLibraryManifest]] {{JVer|1.6}}
* [[JPackageManifest]] (from 1.6)
+
* [[JPackageManifest]] {{JVer|1.6}}
  
 
===Language===
 
===Language===
Line 302: Line 302:
 
* [[JRegistryFormatPHP]]
 
* [[JRegistryFormatPHP]]
 
* [[JRegistryFormatXML]]
 
* [[JRegistryFormatXML]]
* [[JRegistryFormatJSON]] (from 1.6)
+
* [[JRegistryFormatJSON]] {{JVer|1.6}}
  
 
===Session===
 
===Session===
Line 315: Line 315:
  
 
===Task===
 
===Task===
* [[JTask]] (from 1.6)
+
* [[JTask]] {{JVer|1.6}}
* [[JTaskSet]] (from 1.6)
+
* [[JTaskSet]] {{JVer|1.6}}
  
 
===Template===
 
===Template===
Line 327: Line 327:
  
 
===Updater===
 
===Updater===
* [[JUpdate]] (from 1.6)
+
* [[JUpdate]] {{JVer|1.6}}
* [[JUpdateAdapter]] (from 1.6)
+
* [[JUpdateAdapter]] {{JVer|1.6}}
* [[JUpdater]] (from 1.6)
+
* [[JUpdater]] {{JVer|1.6}}
* [[JUpdaterCollection]] (from 1.6)
+
* [[JUpdaterCollection]] {{JVer|1.6}}
* [[JUpdaterExtension]] (from 1.6)
+
* [[JUpdaterExtension]] {{JVer|1.6}}
  
 
===User===
 
===User===
 
* [[JAuthentication]]
 
* [[JAuthentication]]
* [[JAuthenticationResponse]] (from 1.6)
+
* [[JAuthenticationResponse]] {{JVer|1.6}}
 
* [[JAuthorization]]
 
* [[JAuthorization]]
 
* [[JUserHelper]]
 
* [[JUserHelper]]
Line 345: Line 345:
 
* [[JDate]]
 
* [[JDate]]
 
* [[JSimpleCrypt]]
 
* [[JSimpleCrypt]]
* [[JSimpleTemplate]] (from 1.6)
+
* [[JSimpleTemplate]] {{JVer|1.6}}
 
* [[JSimpleXML]]
 
* [[JSimpleXML]]
 
* [[JSimpleXMLElement]]
 
* [[JSimpleXMLElement]]

Revision as of 05:47, 3 July 2009

A software framework is a reusable design for a software system (or subsystem). This is expressed as a set of abstract classes and the way their instances collaborate for a specific type of software. Software frameworks can be object-oriented designs. Although designs don't have to be implemented in an object-oriented language, they usually are. A software framework may include support programs, code libraries[1], a scripting language[2], or other software to help develop and glue together the different components of a software project. Various parts of the framework may be exposed through an application programming interface (API).

From Wikipedia

JoomlaArchitecture0.png

Joomla! 1.5 is a three tiered system:-

  • The top, Extensions layer, consists of Extensions to the Joomla Framework and its applications:
  • The middle, Application layer, consists of applications that extend the Framework JApplication class. Currently there are four applications included in the Joomla distribution:-
    • JInstallation is responsible for installing Joomla on a web server and is deleted after the installation procedure has been completed.
    • JAdministrator is responsible for the back-end Administrator.
    • JSite is responsible for the front-end of the website.
    • XML-RPC supports remote administration of the Joomla website.
  • The bottom, Framework layer, consists of:-
    • the Joomla Framework itself, whose classes are listed below.
    • Libraries that are required by the Framework or are installed for use by third-party developers.
    • Plugins extend the functionality available in the Framework.

Packages and Classes[edit]

The classes in the Joomla! Framework are loosely grouped into several different packages, listed below. The links will take you to further information about each class including, where possible, examples of use. You can also browse the Joomla Framework and included libraries on api.joomla.org which is automatically generated by the phpDocumentor package from an analysis of the Joomla! source code, making use of specially formatted comments embedded in the source code itself. These two resources, one manually maintained, the other automatic, are intended to complement one another.

If you would like to help us improve this resource, please read API Reference Project.

Access[edit]

Application[edit]

Backup[edit]

Base[edit]

Cache[edit]

Client[edit]

Database[edit]

Document[edit]

Environment[edit]

Error[edit]

Event[edit]

Filesystem[edit]

Filter[edit]

Form[edit]

HTML[edit]

Installer[edit]

Language[edit]

Mail[edit]

Plugin[edit]

Registry[edit]

Session[edit]

Task[edit]

Template[edit]

This package is deprecated from 1.5 onwards. Template extensions are part of the Document package now.

Updater[edit]

User[edit]

Utilities[edit]

See also[edit]

  1. PHP libraries bundled with Joomla!
  2. JavaScript libraries bundled with Joomla!