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

+

−

= Joomla! Framework =

+

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. The bottom tier is the framework level and consists of the [[:Category:Framework package|libraries]] and plugins (formerly known as mambots). The second tier is the application level and consists of the [[JApplication]] class. Currently there are four<ref>The fourth, "hidden" application is the XMP-RPC server.</ref> applications that ship with Joomla: [[JInstallation]], [[JAdministrator]] and [[JSite]]. The application acts as the main controller for the page.

+

−

The third tier is the [[Extension|extension level]]. This level is where all [[:Component|component]], [[Module|module]], and [[Template|template]] logic is executed and rendered.

+

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

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

+

}}

−

{{framework summary|pack=Application|classes=yes}}

−

{{framework summary|pack=Base|classes=yes}}

−

{{framework summary|pack=Cache|classes=yes}}

−

{{framework summary|pack=Client|classes=yes}}

−

{{framework summary|pack=Database|classes=yes}}

−

{{framework summary|pack=Document|classes=yes}}

−

{{framework summary|pack=Environment|classes=yes}}

−

{{framework summary|pack=Event|classes=yes}}

−

{{framework summary|pack=Filesystem|classes=yes}}

−

{{framework summary|pack=Filter|classes=yes}}

−

{{framework summary|pack=HTML|classes=yes}}

−

{{framework summary|pack=I18N|classes=yes}}

−

{{framework summary|pack=Installer|classes=yes}}

−

{{framework summary|pack=Parameter|classes=yes}}

−

{{framework summary|pack=Registry|classes=yes}}

−

{{framework summary|pack=Session|classes=yes}}

−

{{framework summary|pack=Table|classes=yes}}

−

{{framework summary|pack=Template|classes=yes}}

−

{{framework summary|pack=User|classes=yes}}

−

{{framework summary|pack=Utilities|classes=yes}}

−

==See also==

+

=== See Also ===

−

<references />

+

<references/>

−

+

=== Further Reading ===

−

[[Category:Framework]]

+

*[[Joomla! Framework vs Joomla! Platform]]

+

<noinclude>[[Category:Framework]][[Category:Subpackages]]</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).

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

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.