- Cache tags, cache blocks and clearing caches The caches an extension author meets: ids and tags of ezcache.php and exp:cache, what to clear after which change, cache-block in templates, and clearing an object's view cache from PHP.
- Case study: small PHP 8 fixes across many extensions How this project brought more than twenty extensions to PHP 8.0 through 8.5 in October 2026 - the same few fixes again and again, one commit and one release per extension, and how the work was checked.
- Dates, numbers and l10n Showing dates, times, numbers and prices in the visitor's locale with l10n (time, shorttime, date, shortdate, datetime, shortdatetime, currency, clean_currency, number), custom formats with datetime, the time element…
- Deploy a PHP change Step by step - ship a PHP class, operator or settings change with one command, exp:velocity deploy, after a dry run for the change record - autoloads, INI caches, the right PHP-FPM, Velocity, then the page caches in the…
- Forms and CSRF protection How forms work in Exponential for developers used to form components, form requests and CSRF middleware - templates that write the form, module actions that read it, eZHTTPTool for input, ezformtoken's automatic token…
- Language switchers and addresses per language Give each language its own address (path, host or host prefix), redirect the start page to the visitor's language, and build a language switcher with TranslationSA and the language_switcher operator.
- Persistent objects and your own tables Your extension's own table through eZPersistentObject: definition(), create, store, fetch, lists with conditions and limits, count, remove, template attributes, transactions.
- Right-to-left accessibility For public bodies that publish in Arabic, Hebrew, Persian, Urdu or other right-to-left languages - how Exponential sets direction and language in the administration and in content, how names are isolated, and what your…
- Role operators The 7 operators of eZTemplateRoleOperator (has_role, has_role_id, has_any_role, has_role_by_user, has_role_by_user_id, has_policy, has_policy_by_user) - what they check, why the piped input is ignored, why they are not…
- Storing secrets on devices Keep Exponential credentials safe on phones and in browsers - what may be stored on a device at all, the platform secure stores (Keychain, Keystore), what never to store, logging and crash reports, backups, sign-out and…
- The datatypes tour The datatypes of the Learning book, one by one, with what each stores, what to watch for, and what changed: dates, the deprecated enum, images, the keyword and matrix types, relations.
- Workflows, triggers and events Hook business processes into Exponential operations - workflows, event types, triggers before and after operations, the available operations in workflow.ini, processes that wait for cron, and when to use a workflow or a…
- Write a fetch function A task guide for giving templates data through fetch( 'module', 'function', hash( ... ) ) - the function_definition.php entry, the static method and its result array, parameters, errors, permissions and limits, and how…
- Built-in template operators The template operators of an installation, grouped by implementing class - strings, arrays, logic, arithmetic, types, dates, URLs, settings, translation, icons, access, encoding, the packer.
- Database schema, .dba files and upgrades Ship tables that install on every supported database: share/db_schema.dba, per-engine schema.sql, ezsqlinsertschema and ezsqldumpschema, idempotent install commands, upgrades.
- Image operators texttoimage, image and imagefile from eZTemplateImageOperator - rendering text as an image with a TrueType font from texttoimage.ini, composing layers, and reading an image file's size - which ones write files under…
- Integration patterns: push and pull, batch and real time The basic integration patterns applied to Exponential - who starts the exchange (push or pull), how often (batch or near real time), delta and full runs, outbox and inbox, polling with a watermark, and which Exponential…
- Language of the page and its parts For public bodies with multilingual sites - how Exponential sets the language of administration and public pages, how translations and language siteaccesses give each page its own language, and how editors mark passages…
- Rich text tags The XML tags of the rich text datatype (headings, lists, emphasis, literal, links, anchors, tables, embedded objects, custom tags), the class parameter, and how the online editor and templates relate to them.
- The Authorization header and proxies Why a valid credential can still answer 401 - how the REST layer and expservices read the Authorization header, servers and proxies that drop it (Apache with PHP-FPM), the server settings that pass it, the X-Exp-Token…
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