Help for Web Framework Developers
Combine Exponential with web frameworks: Composer, the APIs, embedding content and running them side by side.
55 pages
Start here
Read these pages in this order.
- Web framework developers: start here Where developers who know Symfony, Laravel, Slim, CodeIgniter, Yii, CakePHP, Laminas, Django, Rails, Expres...
- Exponential for web framework developers What Exponential is when you look at it with the eyes of a Symfony, Laravel, Django or Rails developer - a...
- Concept dictionary: framework terms in Exponential A lookup table from the words of Symfony, Laravel, Django, Rails, Express and Spring to the Exponential ter...
- Reading path for web framework developers The order in which to read this audience's pages - an orientation day, the request and its pieces, data, th...
- The request lifecycle What happens to an HTTP request in Exponential, step by step - index.php, the kernel, siteaccess matching,...
- Siteaccesses: matching a request to a site The siteaccess is the concept framework developers most often miss - a named configuration selected per req...
Good to know
-
Static publishing compared with static site generators
An honest comparison of Exponential's static publishing with Jekyll, Hugo, Eleventy, Astro and headless setups - where a CMS that publishes static copies wins, and where a generator is the better tool.
-
Static publishing: CI and GitHub Actions
This guide is for developers who build and publish a static copy from a CI job, and for administrators who let GitHub Actions deploy what Exponential pushes. It explains the commands' machine-readable output, the…
Search by topic
Each button lists the pages of one topic for Web Framework Developers.
Key pages
All pages for Web Framework Developers- Routing: modules, views and parameters How Exponential maps an address to code - the module/view convention instead of a route table, ordered and unordered parameters, register...
- Pretty URLs: URL aliases and URL wildcards How Exponential turns readable addresses into module addresses - automatic URL aliases for content nodes, global aliases for module views...
- Controllers: module views Where a framework has controllers and actions, Exponential has module views - a view script or an Exponential\Runnable\ModuleView class t...
- Responses, redirects, errors and JSON How a module view answers - the $Result array instead of a Response object, the pagelayout around it, redirects with redirectTo and safe...
- The view layer: the template language beside Twig and Blade The Exponential template language for developers who know Twig, Blade, Jinja or ERB - syntax side by side, operators instead of infix sym...
- Template resolution: designs and overrides How Exponential decides which template file renders a view - the design chain of a siteaccess, extension designs, the design: resource, o...
- Getting data into templates: fetch functions and operators Where a framework passes view models from the controller, Exponential templates can also pull data themselves - fetch functions declared...
- ORM and active record: eZPersistentObject The Exponential answer to Eloquent, Doctrine, the Django ORM and ActiveRecord for your own tables - eZPersistentObject with a definition(...
- The content model for ORM users Content classes, objects, versions, translations, nodes, datatypes, sections and object states explained in the terms of an ORM - what ea...
- Queries: content fetches, eZDB and SQL How to query data in Exponential when you are used to a query builder - content fetches with class, attribute and depth filters for conte...
Related audiences
Free documentation: use it to help yourself and others
This help is free documentation, licensed under the GNU Free Documentation License 1.3 or later. You may use it, share it and improve it:
- Study it Read any page as often as you like, for any purpose.
- Copy it and share it Give pages to other users, on paper or as files. Keep the copyright notice, the license notice and a copy of the license with every copy.
- Translate, adapt and improve it Share your version under the same license, with the original notices and a note of what you changed.
- Cite it Refer to a page by its title and its address in the help, or its file in the doc directory.
- Contribute fixes back Use "Edit on GitHub" on any page. Changes are accepted under the same license, so they stay free for everyone.
Exponential Copyright © 1998-2026 Exponential Foundation and 7x