Actions

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

From Joomla! Documentation

m (Packages and Classes)
Line 1: Line 1:
 
{{RightTOC}}
 
{{RightTOC}}
 +
[[Category:Development]]
 +
[[Category:Framework]]
 
<blockquote>
 
<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]]).''
 
''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]]).''
Line 9: Line 11:
  
 
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.
 
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.
 +
 +
== Application Constants ==
 +
 +
Each application type defines several constants:
 +
 +
JPATH_ROOT          The path to the installed Joomla! site
 +
JPATH_SITE          The path to the installed Joomla! site
 +
JPATH_CONFIGURATION The path to folder containing the configuration.php file
 +
JPATH_ADMINISTRATOR The path to the administrator folder
 +
JPATH_XMLRPC        The path to the XML-RPC Web service folder
 +
JPATH_LIBRARIES    The path to the libraries folder
 +
JPATH_PLUGINS      The path to the plugins folder
 +
JPATH_INSTALLATION  The path to the installation folder
 +
JPATH_THEMES        The path to the templates folder
 +
JPATH_CACHE        The path to the cache folder
 +
JPATH_COMPONENT    The path to the current component being executed
 +
 +
These constants are defined in <code>_path_/includes/defines.php</code>
  
 
== Packages and Classes ==
 
== Packages and Classes ==
Line 17: Line 37:
 
==See also==
 
==See also==
 
<references />
 
<references />
 
[[Category:Framework]]
 

Revision as of 06:57, 24 July 2008

Contents

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

Joomla! Framework

Joomla! 1.5 is a three tiered system. The bottom tier is the framework level and consists of the libraries and plugins (formerly known as mambots). The second tier is the application level and consists of the JApplication class. Currently there are four[3] 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 level. This level is where all component, module, and template logic is executed and rendered.

Application Constants

Each application type defines several constants:

JPATH_ROOT          The path to the installed Joomla! site
JPATH_SITE          The path to the installed Joomla! site
JPATH_CONFIGURATION The path to folder containing the configuration.php file
JPATH_ADMINISTRATOR The path to the administrator folder
JPATH_XMLRPC        The path to the XML-RPC Web service folder
JPATH_LIBRARIES     The path to the libraries folder
JPATH_PLUGINS       The path to the plugins folder
JPATH_INSTALLATION  The path to the installation folder
JPATH_THEMES        The path to the templates folder
JPATH_CACHE         The path to the cache folder
JPATH_COMPONENT     The path to the current component being executed

These constants are defined in _path_/includes/defines.php

Packages and Classes

The Joomla! Framework consists of several different packages.

under construction :) CirTap

See also

  1. PHP libraries bundled with Joomla!
  2. JavaScript libraries bundled with Joomla!
  3. The fourth, "hidden" application is the XMP-RPC server.