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

From Joomla! Documentation

m (Added JDocumentJson)
m (→‎API Reference: spacing)
 
(31 intermediate revisions by 10 users not shown)
Line 1: Line 1:
{{RightTOC}}
+
{{Chunk:Framework quote}}
<blockquote>
+
{{Chunk:Framework (CMS 1.5 and 1.6)}}
''A '''software framework''' is a reusable design for a software system (or subsystem). This is expressed as a set of [[:Wikipedia:abstract class|abstract class]]es and the way their instances collaborate for a specific type of software. Software frameworks can be [[:Wikipedia:Object-oriented programming|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 [[:Wikipedia:Libraries|libraries]]<ref>[[PHP libraries]] bundled with Joomla!</ref>, a [[:Wikipedia:JavaScript|scripting language]]<ref>[[JavaScript libraries]] bundled with Joomla!</ref>, 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 ([[:Wikipedia:Application programming interface|API]]).''
+
== API Reference ==
:''From [[:Wikipedia:Framework|Wikipedia]]''
 
</blockquote>
 
  
[[Image:JoomlaArchitecture0.png]]
+
On this page we'd like to provide you a way to reference of all classes and respective methods. Use the links below to navigate to further information about framework versions or the version classes which include, where possible, examples of use.
  
[[:Category:Joomla! 1.5|Joomla! 1.5]] is a three tiered system:-
+
If you would like to help us improve this resource, please read about the [[API Reference Project]].
* The top, Extensions layer, consists of [[Extension|Extensions]] to the Joomla [[Framework]] and its applications:
 
** [[Module|Modules]]
 
** [[Component|Components]]
 
** [[Template|Templates]]
 
* 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.
 
** [[Library|Libraries]] that are required by the [[Framework]] or are installed for use by third-party developers.
 
** [[Plugin|Plugins]] extend the functionality available in the [[Framework]].
 
  
== Packages and Classes ==
+
{{Navbox
The classes in the {{jf}} 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 [http://api.joomla.org 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.
+
|state=off
 +
|navbar=off
 +
|title=API documentation is available in the following '''Joomla! Framework Versions'''
 +
|titlestyle=font-weight:normal; padding:5px;
 +
|image=[[File:Joomla vert logo.png|120px]]
 +
|group1= Select a framework version
 +
|group2= See also
 +
|group1style=font-size:1.1em; width:18%;
 +
|list1=
 +
* [[API15:Framework|Framework]] {{JVer|1.5}}
 +
* [[API16:Framework|Framework]] {{JVer|1.6}}
 +
|list2=
 +
* [[API17:Platform|Platform]] {{JVer|11.1}}
 +
|list1style=padding-left:10px; font-size:1.2em;
 +
|list2style=padding-left:10px; font-size:1.2em;
 +
}}
  
* [[JFactory]]
 
* [[JRoute]]
 
* [[JText]]
 
* [[JVersion]]
 
  
===Access===
+
=== See Also ===
* [[JAccess]] (from 1.6)
+
<references/>
* [[JAccessHelper]] (from 1.6)
+
=== Further Reading ===
* [[JAccessLevel]] (from 1.6)
+
*[[Joomla! Framework vs Joomla! Platform]]
* [[JSimpleRule]] (from 1.6)
+
<noinclude>[[Category:Framework]][[Category:Subpackages]]</noinclude>
 
 
===Application===
 
* [[JApplication]]
 
* [[JApplicationHelper]]
 
* [[JCategoryTree]] (from 1.6)
 
* [[JCategoryNode]] (from 1.6)
 
* [[JComponentHelper]]
 
* [[JController]]
 
* [[JMenu]]
 
* [[JModel]]
 
* [[JModelItem]] (from 1.6)
 
* [[JModelList]] (from 1.6)
 
* [[JModuleHelper]]
 
* [[JPathway]]
 
* [[JRouter]]
 
* [[JView]]
 
 
 
===Backup===
 
* [[JBackup]] (from 1.6)
 
* [[JBackupFilesystem]] (from 1.6)
 
* [[JBackupSql]] (from 1.6)
 
* [[JBackupTable]] (from 1.6)
 
 
 
===Base===
 
* [[JAdapter]] (from 1.6)
 
* [[JAdapterInstance]] (from 1.6)
 
* [[JClass]] (from 1.6)
 
* [[JObject]]
 
* [[JObservable]]
 
* [[JObserver]]
 
* [[JTree]]
 
* [[JNode]]
 
 
 
===Cache===
 
* [[JCache]]
 
* [[JCacheCallback]]
 
* [[JCacheOutput]]
 
* [[JCachePage]]
 
* [[JCacheStorage]]
 
* [[JCacheStorageApc]]
 
* [[JCacheStorageEaccelerator]]
 
* [[JCacheStorageFile]]
 
* [[JCacheStorageMemcache]]
 
* [[JCacheStorageXCache]]
 
* [[JCacheView]]
 
 
 
===Client===
 
* [[JClientHelper]]
 
* [[JFTP]]
 
* [[JLDAP]]
 
 
 
===Database===
 
* [[JDatabase]]
 
* [[JDatabaseMySQL]]
 
* [[JDatabaseMySQLi]]
 
* [[JDataLoad]] (from 1.6)
 
* [[JDataLoaderSQL]] (from 1.6)
 
* [[JQuery]] (from 1.6)
 
* [[JQueryElement]] (from 1.6)
 
* [[JRecordSet]]
 
* [[JTable]]
 
* [[JTableARO]]
 
* [[JTableAROGroup]]
 
* [[JTableAsset]] (from 1.6)
 
* [[JTableBackup]] (from 1.6)
 
* [[JTableBackupEntry]] (from 1.6)
 
* [[JTableCategory]]
 
* [[JTableComponent]]
 
* [[JTableContent]]
 
* [[JTableExtension]] (from 1.6)
 
* [[JTableMenu]]
 
* [[JTableMenuTypes]]
 
* [[JTableModule]]
 
* [[JTablePlugin]]
 
* [[JTableSection]]
 
* [[JTableSession]]
 
* [[JTableTree]] (from 1.6)
 
* [[JTableUpdate]] (from 1.6)
 
* [[JTableUser]]
 
* [[JTableUsergroup]] (from 1.6)
 
 
 
===Document===
 
* [[JDocument]]
 
* [[JDocumentError]]
 
* [[JDocumentFeed]]
 
* [[JDocumentHTML]]
 
* [[JDocumentJSON]] (from 1.6)
 
* [[JDocumentPDF]]
 
* [[JDocumentRaw]]
 
* [[JDocumentRenderer]]
 
* [[JDocumentRendererAtom]]
 
* [[JDocumentRendererComponent]]
 
* [[JDocumentRendererHead]]
 
* [[JDocumentRendererInstallation]] (from 1.6)
 
* [[JDocumentRendererMessage]]
 
* [[JDocumentRendererModule]]
 
* [[JDocumentRendererModules]]
 
* [[JDocumentRendererRSS]]
 
* [[JDocumentVCARD]] (from 1.6)
 
* [[JDocumentXML]] (from 1.6)
 
* [[JFeedEnclosure]] (from 1.6)
 
* [[JFeedImage]] (from 1.6)
 
* [[JFeedItem]] (from 1.6)
 
 
 
===Environment===
 
* [[JBrowser]]
 
* [[JRequest]]
 
* [[JResponse]]
 
* [[JURI]]
 
 
 
===Error===
 
* [[JError]]
 
* [[JException]]
 
* [[JLog]]
 
* [[JProfiler]]
 
 
 
===Event===
 
* [[JDispatcher]]
 
* [[JEvent]]
 
 
 
===Filesystem===
 
* [[JArchive]]
 
* [[JArchiveBzip2]]
 
* [[JArchiveGzip]]
 
* [[JArchiveTar]]
 
* [[JArchiveZip]]
 
* [[JFile]]
 
* [[JFilesystem]] (from 1.6)
 
* [[JFilesystemFTP]] (from 1.6)
 
* [[JFilesystemHelper]] (from 1.6)
 
* [[JFilesystemSSH]] (from 1.6)
 
* [[JFilesystemPHP]] (from 1.6)
 
* [[JFolder]]
 
* [[JPath]]
 
* [[JStream]] (from 1.6)
 
* [[JStreamString]] (from 1.6)
 
* [[JStringController]] (from 1.6)
 
 
 
===Filter===
 
* [[JFilterInput]]
 
* [[JFilterOutput]]
 
 
 
===Form===
 
* [[JForm]] (from 1.6)
 
* [[JFormField]] (from 1.6)
 
* [[JFormFieldAccessLevels]] (from 1.6)
 
* [[JFormFieldAccessSections]] (from 1.6)
 
* [[JFormFieldCalendar]] (from 1.6)
 
* [[JFormFieldCategories]] (from 1.6)
 
* [[JFormFieldCheckbox]] (from 1.6)
 
* [[JFormFieldCombo]] (from 1.6)
 
* [[JFormFieldEditor]] (from 1.6)
 
* [[JFormFieldEditors]] (from 1.6)
 
* [[JFormFieldFile]] (from 1.6)
 
* [[JFormFieldHelpsites]] (from 1.6)
 
* [[JFormFieldHidden]] (from 1.6)
 
* [[JFormFieldIntegers]] (from 1.6)
 
* [[JFormFieldLanguages]] (from 1.6)
 
* [[JFormFieldList]] (from 1.6)
 
* [[JFormFieldMedia]] (from 1.6)
 
* [[JFormFieldPassword]] (from 1.6)
 
* [[JFormFieldRadio]] (from 1.6)
 
* [[JFormFieldSpacer]] (from 1.6)
 
* [[JFormFieldText]] (from 1.6)
 
* [[JFormFieldTextarea]] (from 1.6)
 
* [[JFormFieldTimezones]] (from 1.6)
 
* [[JFormFieldUserGroups]] (from 1.6)
 
* [[JFormRule]] (from 1.6)
 
* [[JFormRuleBoolean]] (from 1.6)
 
* [[JFormRuleEquals]] (from 1.6)
 
* [[JFormRuleEmail]] (from 1.6)
 
* [[JFormRuleUsername]] (from 1.6)
 
* [[JFormValidator]] (from 1.6)
 
 
 
===HTML===
 
* [[JButton]]
 
* [[JButtonConfirm]]
 
* [[JButtonCustom]]
 
* [[JButtonHelp]]
 
* [[JButtonLink]]
 
* [[JButtonPopup]]
 
* [[JButtonSeparator]]
 
* [[JButtonStandard]]
 
* [[JEditor]]
 
* [[JElement]]
 
* [[JElementCalendar]]
 
* [[JElementCategory]]
 
* [[JElementEditors]]
 
* [[JElementFileList]]
 
* [[JElementFolderList]]
 
* [[JElementHelpsites]]
 
* [[JElementHidden]]
 
* [[JElementImageList]]
 
* [[JElementLanguages]]
 
* [[JElementList]]
 
* [[JElementList_AssetGroups]] (from 1.6)
 
* [[JElementMenu]]
 
* [[JElementMenuItem]]
 
* [[JElementPassword]]
 
* [[JElementRadio]]
 
* [[JElementSection]]
 
* [[JElementSpacer]]
 
* [[JElementSQL]]
 
* [[JElementText]]
 
* [[JElementTextarea]]
 
* [[JElementTimezones]]
 
* [[JElementUserGroup]]
 
* [[JHtml]]
 
* [[JHtmlAccess]] (from 1.6)
 
* [[JHtmlAcl]] (from 1.6)
 
* [[JHtmlBehavior]]
 
* [[JHtmlContent]]
 
* [[JHtmlEmail]]
 
* [[JHtmlForm]]
 
* [[JHtmlGrid]]
 
* [[JHtmlImage]]
 
* [[JHtmlList]]
 
* [[JHtmlMenu]]
 
* [[JHtmlSelect]]
 
* [[JContent]] (from 1.6)
 
* [[JPagination]]
 
* [[JPaginationObject]] (from 1.6)
 
* [[JPane]]
 
* [[JPaneTabs]] (from 1.6)
 
* [[JPaneSliders]] (from 1.6)
 
* [[JParameter]]
 
* [[JToolBar]]
 
 
 
===Installer===
 
* [[JDependency]] (from 1.6)
 
* [[JExtension]] (from 1.6)
 
* [[JInstaller]]
 
* [[JInstallerComponent]]
 
* [[JInstallerFiles]] (from 1.6)
 
* [[JInstallerHelper]]
 
* [[JInstallerLanguage]]
 
* [[JInstallerLibrary]] (from 1.6)
 
* [[JInstallerModule]]
 
* [[JInstallerPackage]] (from 1.6)
 
* [[JInstallerPlugin]]
 
* [[JInstallerSQL]] (from 1.6)
 
* [[JInstallerTemplate]]
 
* [[JLibraryManifest]] (from 1.6)
 
* [[JPackageManifest]] (from 1.6)
 
 
 
===Language===
 
* [[JHelp]]
 
* [[JLanguageHelper]]
 
* [[JLanguage]]
 
 
 
===Mail===
 
* [[JMailHelper]]
 
* [[JMail]]
 
 
 
===Plugin===
 
* [[JPluginHelper]]
 
* [[JPlugin]]
 
 
 
===Registry===
 
* [[JRegistry]]
 
* [[JRegistryFormat]]
 
* [[JRegistryFormatINI]]
 
* [[JRegistryFormatPHP]]
 
* [[JRegistryFormatXML]]
 
* [[JRegistryFormatJSON]] (from 1.6)
 
 
 
===Session===
 
* [[JSession]]
 
* [[JSessionStorage]]
 
* [[JSessionStorageApc]]
 
* [[JSessionStorageDatabase]]
 
* [[JSessionStorageEaccelerator]]
 
* [[JSessionStorageMemcache]]
 
* [[JSessionStorageNone]]
 
* [[JSessionStorageXcache]]
 
 
 
===Task===
 
* [[JTask]] (from 1.6)
 
* [[JTaskSet]] (from 1.6)
 
 
 
===Template===
 
This package is deprecated from 1.5 onwards.  Template extensions are part of the Document package now.
 
* [[JTemplate]]
 
* [[patTemplate_Function_Sef]]
 
* [[patTemplate_Function_Translate]]
 
* [[patTemplate_Modifier_SEF]]
 
* [[patTemplate_Modifer_Translate]]
 
 
 
===Updater===
 
* [[JUpdate]] (from 1.6)
 
* [[JUpdateAdapter]] (from 1.6)
 
* [[JUpdater]] (from 1.6)
 
* [[JUpdaterCollection]] (from 1.6)
 
* [[JUpdaterExtension]] (from 1.6)
 
 
 
===User===
 
* [[JAuthentication]]
 
* [[JAuthenticationResponse]] (from 1.6)
 
* [[JAuthorization]]
 
* [[JUserHelper]]
 
* [[JUser]]
 
 
 
===Utilities===
 
* [[JArrayHelper]]
 
* [[JBuffer]]
 
* [[JDate]]
 
* [[JSimpleCrypt]]
 
* [[JSimpleTemplate]] (from 1.6)
 
* [[JSimpleXML]]
 
* [[JSimpleXMLElement]]
 
* [[JString]]
 
* [[JUtility]]
 
 
 
==See also==
 
<references />
 
<noinclude>[[Category:Development]][[Category:Framework]]</noinclude>
 

Latest revision as of 12:27, 31 August 2013

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


The Joomla! Framework[3] was an important part of the Joomla! CMS architecture in the versions 1.5 and 1.6. It was based on modern object-oriented design patterns that make the Joomla core highly maintainable and easily extendable. Between April and July 2011, the Framework was rebranded as the Joomla! Platform and is now being developed separately from the Joomla! CMS. The first version of the CMS to ship with the Platform was version 1.7.

Third party developers benefit from the rich, and easily accessible functionality that the Joomla Framework provides.

The Joomla Architecture

API Reference[edit]

On this page we'd like to provide you a way to reference of all classes and respective methods. Use the links below to navigate to further information about framework versions or the version classes which include, where possible, examples of use.

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


See Also[edit]

  1. See also External Libraries in Joomla bundled with Joomla!
  2. See also JavaScript libraries bundled with Joomla!
  3. See also Subpackages

Further Reading[edit]