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, a scripting language, 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! 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 applications that ship with Joomla: JInstallation, JAdministrator and JSite. The application acts as the main controller for the page.
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
The Joomla! Framework consists of several different packages.