The internal structure of eZ Publish
This part of the 4.x documentation is for eZ Publish 4.0, only reference section is common for all eZ Publish 4.x versions as well as eZ Publish 5.x "LegacyStack", please select the version you are using for the most up to date documentation! |
This section describes the internal structure of eZ Publish by presenting an brief overview of the different software-layers of the system. eZ Publish is a complex, object oriented application written in the PHP language. The system consists of three major parts:
- Libraries
- Kernel
- Modules
The following illustration shows how the different parts of the system are connected.
Libraries, kernel and modules.
The libraries
The libraries are the main building blocks of the system. These are reuseable general purpose PHP classes. The libraries are in no way dependent on the eZ Publish kernel. However, some of them are strongly interconnected and thus inseparable. People looking for general PHP libraries should take a look in the "lib" folder within the root directory of an eZ Publish installation. The reference chapter contains a complete list and a short description of the currently available libraries.
The kernel
The eZ Publish kernel can be described as the system core. It takes care of all the low level functionality like content handling, content versioning, access control, workflows, etc. The kernel consists of various engines that build upon and make use of the general purpose libraries.
The modules
An eZ Publish module offers an HTTP interface which can be used for web based interaction with the system. While some modules offer an interface to kernel functionality, others are more or less independent of the kernel. eZ Publish comes with a collection of modules that cover the needs of typical everyday tasks. For example, the content module provides an interface that makes it possible to use a web browser to manage content. The reference chapter contains a complete list and a short description of all the currently available modules. A module can be broken down into the following components:
- Views
- Fetch functions
A view provides an actual web interface. For example, the "search" view of the "content" module provides a web interface to the built-in search engine. Every eZ Publish module provides at least one view. A fetch function makes it possible to extract data through a module from within a template. For example, the "current_user" fetch function of the "user" module makes it possible to access information related to the user who is currently logged in. Some modules provide fetch functions, some don't.
Balazs Halasy (12/01/2005 10:21 am)
Ricardo Correia (17/04/2013 10:20 am)
Comments
PDF Doc
Wednesday 28 December 2005 9:49:26 am
Biagio Paruolo
Re: PDF Doc
Wednesday 05 July 2006 6:21:46 pm
Duck
Earn your ticket to heaven by giving us users that little fav XD
PDF docs
Thursday 18 January 2007 11:19:00 am
Svitlana Shatokhina