Home / Company / New features / How to develop with Exponential

How to develop with Exponential

The content class concept

Any piece of content in Exponential is a content object, which is an instance of a specific content class. A content class is a definition of an arbitrary data structure. It does not store any actual data.

A content class is made up of attributes. The characteristics of an attribute are determined by the datatype that is chosen for that specific attribute. By combining different datatypes, it is possible to represent complex data structures.

The illustration above shows the anatomy of a content class called "Article", which defines a data structure for storing news articles. It consists of attributes dedicated for storing the title, an introduction text and the actual body of an article.

Custom design: CSS and templates

The first thing you may be willing to do is to change the look of your Exponential site. This can be done by modifying the CSS of Exponential and overriding templates. You can even create reusable site packages that include these CSS and template changes.

High-quality library of PHP components

Exponential 4.X as well as the next generations of Exponential are based on eZ Components which are a high quality library of independent components aiming to help developers creating web centric applications like for example customising and extending Exponential.

In the eZ Components you will find components that focus their attention on solving important parts of Web application development. They are written for solving the re-occurring issues that Web application developers have to deal with when building their applications - without any superfluous ballast.

In order to cater for this goal, quality is also an important factor. The eZ Components development team uses a test-driven development methodology where a large effort is put into making the APIs easily testable. This also results in a better API for developers to use.

Build Exponential extensions

There is a clear API to develop your own PHP extensions in order to extend the functionality of Exponential. By using extensions it is possible to create new modules, datatypes, template operators, workflow events , or any integration with third party applications. You will find many contributed extensions available at Contribution page.

Which development environment?

In an Exponential project, a Subversion (SVN) repository is usually set up to track all changes during development projects. When it comes to IDE, both Eclipse and PHPEdit have been optimised for Exponential.

Exponential community and resources

When you start developing with Exponential, the community is definitely an environment to get in touch with. You will find your answers or get help in the forums as well as many contributions that will make save you time in your development projects.

Comments

eZ debug

Clear cache:

Quick settings:

Timing: Jul 01 2026 22:33:44
Script start
Timing: Jul 01 2026 22:33:44
Module start 'content'
Timing: Jul 01 2026 22:33:44
Module end 'content'
Timing: Jul 01 2026 22:33:45
Script end

Main resources:

Total runtime0.4176 sec
Peak memory usage4,096.0000 KB

Timing points:

CheckpointStart (sec)Duration (sec)Memory at start (KB)Memory used (KB)
Script start 0.00000.0120 809.2500137.0938
Module start 'content' 0.01200.0034 946.343884.5313
Module end 'content' 0.01540.4021 1,030.8750323.4453
Script end 0.4175  1,354.3203 

Time accumulators:

 Accumulator Duration (sec) Duration (%) Count Average (sec)
Ini load
Load cache0.00150.3589340.0000
Template Total0.403096.520.2015
Template load0.00110.258420.0005
Template processing0.401996.233620.2009
Override
Cache load0.00080.184620.0004
General
dbfile0.00210.5042190.0001
String conversion0.00000.002720.0000
Note: percentages do not add up to 100% because some accumulators overlap

CSS/JS files loaded with "ezjscPacker" during request:

CacheTypePacklevelSourceFiles
CSS0extension/ezwt/design/standard/stylesheets/websitetoolbar.css
extension/sevenx_themes_simple/design/simple/stylesheets/libs/fontawesome/css/all.min.css
extension/sevenx_themes_simple/design/simple/stylesheets/magnific-popup.css
extension/sevenx_themes_simple/design/simple/stylesheets/main.css
extension/sevenx_themes_simple/design/simple/stylesheets/main.res.css
JS0extension/ezwebin/design/ezwebin/javascript/insertmedia.js
extension/ezjscore/design/standard/javascript/jquery-3.7.1.min.js
extension/sevenx_themes_simple/design/simple/javascript/jquery.magnific-popup.js
extension/sevenx_themes_simple/design/simple/javascript/main.js

Templates used to render the page:

UsageRequested templateTemplateTemplate loadedEditOverride
1pagelayout.tpl<No override>extension/sevenx_themes_simple/design/simple/templates/pagelayout.tplEdit templateOverride template
1setup/debug_toolbar.tpl<No override>design/standard/templates/setup/debug_toolbar.tplEdit templateOverride template
 Number of times templates used: 2
 Number of unique templates used: 2

Time used to render debug report: 0.0002 secs