Chunk

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

From Joomla! Documentation

(New page: {{RightTOC}} <blockquote> ''A '''software framework''' is a reusable design for a software system (or subsystem). This is expressed as a set of abstract class...)
 
m (Mvangeest moved page Chunk:Framework to Chunk:Framework (CMS 1.5 and 1.6): The name Framework has been reused for the new Joomla Framework project)
 
(15 intermediate revisions by 6 users not shown)
Line 1: Line 1:
{{RightTOC}}
+
<noinclude>{{chunk}}</noinclude>__NOTOC__
<blockquote>
+
{|
''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]]).''
+
|-
:''From [[:Wikipedia:Framework|Wikipedia]]''
+
|The Joomla! Framework<ref>See also [[Subpackages]]</ref> was an important part of the [[CMS Architecture in 1.5 and 1.6|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 [[:Category:Joomla! 1.7|1.7]].
</blockquote>
 
  
[[Image:JoomlaArchitecture0.png]]
+
Third party developers benefit from the rich, and easily accessible functionality that the Joomla Framework provides.
 
+
|[[Image:JoomlaArchitecture0.png|thumb|425px|The Joomla Architecture]]
[[:Category:Joomla! 1.5|Joomla! 1.5]] is a three tiered system:-
+
|}
* The top, Extensions layer, consists of [[Extension|Extensions]] to the Joomla [[Framework]] and its applications:
+
<noinclude><references/></noinclude>
** [[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 ==
 
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.
 
 
 
If you would like to help us improve this resource, please read [[API Reference Project]].
 
 
 
For an alphabetical list of class names click on the "Class" column heading.
 

Latest revision as of 09:14, 14 June 2013


The Joomla! Framework[1] 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
  1. See also Subpackages