Recent changes
Wednesday November 04 2026
-
Queries: content fetches, eZDB and SQL Updated Markdown page
How to query data in Exponential when you are used to a query builder - content fetches with class, attribute and depth filters for content, condition arrays for persistent objects, eZDB arrayQuery and escaping for your…
-
Queues and background jobs Updated Markdown page
Background work in Exponential for developers used to Symfony Messenger, Laravel queues, Celery, Sidekiq or Spring's @Async - the expqueue job queue with handlers, retries, idempotency keys and workers, content jobs for…
-
Responses, redirects, errors and JSON Updated Markdown page
How a module view answers - the $Result array instead of a Response object, the pagelayout around it, redirects with redirectTo and safe redirect targets, error pages with handleError and eZError codes, JSON and other…
-
REST and JSON APIs Updated Markdown page
The API layers of Exponential for developers who build APIs with API Platform, Laravel API resources, Django REST framework or Spring controllers - the REST content API at v1 and v2 with API keys and OAuth2, your own…
-
Routing: modules, views and parameters Updated Markdown page
How Exponential maps an address to code - the module/view convention instead of a route table, ordered and unordered parameters, registering a module, generating URLs with ezurl and eZURI::build, HTTP methods and…
-
Scheduled tasks: cronjobs Updated Markdown page
The Exponential counterpart of Laravel's scheduler, Symfony Scheduler, Celery beat, whenever and Spring's @Scheduled - cronjob parts in cronjob.ini run by runcronjobs.php from the system crontab, the shipped parts the…
-
Servers and deployment: Apache and PHP-FPM, Velocity, FrankenPHP Updated Markdown page
How Exponential is served and deployed, for developers who know PHP-FPM behind nginx, Laravel Octane, RoadRunner, FrankenPHP worker mode, Gunicorn or Puma - the three ways to serve it, the persistent-worker rules, the…
-
Siteaccesses: matching a request to a site Updated Markdown page
The siteaccess is the concept framework developers most often miss - a named configuration selected per request by URI, host, port or server variable, before routing - how matching works, what a siteaccess changes, how…
-
Static publishing compared with static site generators Updated Markdown page
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.
-
The Symfony legacy bridge for framework developers Updated Markdown page
How Exponential 6 and Symfony run as one application - the legacy bridge bundle that loads the Exponential 6 kernel inside a Symfony platform installation, what each side handles, the legacy_admin siteaccess, the…
-
Template resolution: designs and overrides Updated Markdown page
How Exponential decides which template file renders a view - the design chain of a siteaccess, extension designs, the design: resource, override.ini rules matched by class, node, section or view mode - compared with…
-
The view layer: the template language beside Twig and Blade Updated Markdown page
The Exponential template language for developers who know Twig, Blade, Jinja or ERB - syntax side by side, operators instead of infix symbols, no automatic escaping, fetch in the template, the pagelayout instead of…
-
Testing: PHPUnit, database tests and checks Updated Markdown page
How to test an application on Exponential for developers used to WebTestCase, Laravel's HTTP tests, Django's test client or Rails system tests - PHPUnit without a database for services, tests against a throwaway…
-
The content model for ORM users Updated Markdown page
Content classes, objects, versions, translations, nodes, datatypes, sections and object states explained in the terms of an ORM - what each is in the database and in PHP, how a typical blog or catalog maps onto it, and…
-
The Exponential Platform products Updated Markdown page
The Symfony-based side of the Exponential family, for framework developers choosing a stack - Exponential Platform 3.2.9, Legacy, Nexus, DXP and the Nexus starter, which ones include the Exponential 6 kernel, which ship…
-
The request lifecycle Updated Markdown page
What happens to an HTTP request in Exponential, step by step - index.php, the kernel, siteaccess matching, settings, session, URL alias and wildcard translation, request rules, the module and policy checks, the view…
-
Pretty URLs: URL aliases and URL wildcards Updated Markdown page
How Exponential turns readable addresses into module addresses - automatic URL aliases for content nodes, global aliases for module views, wildcard patterns for redirects and rewrites, history redirects when content…
-
Validation: input, datatypes and escaping Updated Markdown page
Where validation happens in Exponential when there is no validator component - content is validated by its datatypes when editors save, your own forms and parameters are validated in your view or service, and output is…
-
Web framework developer FAQ Updated Markdown page
Short answers to the questions developers from Symfony, Laravel, Django, Rails, Express and Spring ask most about Exponential - is it a framework, where is the container, can I use Twig or Composer libraries, how do…
-
Reading path for web framework developers Updated Markdown page
The order in which to read this audience's pages - an orientation day, the request and its pieces, data, the cross-cutting concerns, operations, and the bridge to other frameworks - with time estimates and the pages…