- Images in REST answers What an ezimage field looks like in a REST answer (the path of the original file, without alternative text), how to turn it into a URL, why the original is the wrong size for a phone, how to get the alternative text and…
- Inside the core: content classes, workflows, notifications, information collection, search A map of the kernel classes behind the concepts of the earlier chapters: content classes and objects, workflows and triggers, notifications, information collection and search, with where each lives now.
- Overriding kernel operators Changing what a kernel or template-library operator does from an extension, the way extension ezurlmultisite does for ezurl - subclass the class that owns the name, register the subclass for all of its names, drop the…
- Static publishing from the command line and CI For software engineers and PHP developers - build, check and publish a static copy with the exp:static:* commands, read their JSON output, and run it in GitHub Actions from the starter template.
- Registering operators Every way a template operator gets registered - eztemplateautoload.php in AutoloadPathList and ExtensionAutoloadPath, the entry keys, template.ini PHPOperatorList, owsimpleoperator.ini - how extension order is decided…
- Add a view type Give an existing block type a new look that editors can choose per block - one INI line and one template in your design extension. Worked example list_compact for the List block, from the INI to the editor's Design tab…
- Creating an operator, step by step The whole path from an idea to a working template operator in an extension - choose a free name, write the class, register it, clear caches, try it interpreted and compiled, deploy - or let the template extension wizard…
- Debugging and logs Find out what your application does - debug output and the debug bar, template path comments, eZDebug in code, the log files and Setup > Logs, error references, request logs, and debugging under Velocity.
- Extending: why, where and how Why write an extension, how to name and activate one, and where its folders go, with the book's table of subfolders matched to the layout of an Exponential 6 extension.
- Image aliases for screen sizes Get images in the right size for phones and tablets - the shipped image aliases (reference, small, tiny, medium, large, rss), listing them with expimage::aliases, asking for one alias URL with expimage::url, adding…
- Integrators' FAQ Short answers to the questions integrators ask most about Exponential - APIs, authentication, webhooks, imports, identity, search, performance, upgrades, licensing and the partner program - each with a link to the page…
- Line view The line view, the template of a content item in a list: what it receives, a teaser example with image, title, date and intro, parameters from the caller, headings inside lists, and per-class line views.
- Static analysis and code style How Exponential checks code without running it - PHPStan at level 1 against a baseline of inherited findings, PHP_CodeSniffer with the project's own style and sniffs (no PHP 7+ type declarations, PHP 8.0 compatibility)…
- Web framework developer FAQ 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…
- Add a block type Create a new block type editors can drag into any layout - a block definition in explayouts.ini, an existing or new handler class, and a template - with where AvailableBlocks[] is read and a tested example, the Notice…
- CI gates The continuous integration of Exponential as a set of gates - the Quality, PHPUnit, Performance and CI health workflows, what blocks and what only warns, how pull requests are tested as merged into main, how to…
- Deploying with Velocity Ship code changes to a site served by Exponential Velocity - exp:velocity deploy and its fourteen steps in order, the options for kernel classes, packed assets and Apache-only setups, template-only changes, and checking…
- Embed view How objects embedded in rich text are drawn: the embed tag template, content_view_gui with view embed, the content/view/embed.tpl and node/view/embed.tpl defaults, alignment and classes from the editor, and per-class…
- Files and uploads Download files from Exponential in an app (expfile services, the content/download URL, time-limited signed links for clients without a session) and why uploading photos or files from a device needs a custom endpoint…
- Glossary for web framework developers The Exponential terms a framework developer meets, in alphabetical order, each with a one-line definition, the nearest framework word and the page that explains it - from action and attribute to workflow and wash.
Documentation license
This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.
Exponential Copyright © 1998-2026 Exponential Foundation and 7x