- How a request runs in PHP The path of one web request through Exponential's PHP code - index.php, autoload.php, ezpKernel and ezpKernelWeb, request initialization, URL translation, access checks, the module view, the pagelayout and shutdown…
- Immutable releases and versions Why a released Exponential version never changes after publication, how versions are numbered and compared, how to pin and verify the version you run, and what this means for procurement records, audits and reproducible…
- Measured steps and times How the steps and times quoted in these pages were measured - on a throwaway copy of a real Exponential 6.0.15+ installation - and the raw numbers, so anyone can repeat them on their own site.
- Part 3: The extension developer Part 3 of the book: the anatomy of an extension, one mechanism per chapter, from metadata and settings to modules, operators, datatypes, events, security and tests, followed by step-by-step tutorials.
- Personal data in Exponential Where an Exponential installation stores personal data - user accounts, sessions, orders, form submissions, mail preferences and consent, newsletter subscribers, notifications, search phrases, logs, the audit trail…
- 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, the cross-cutting concerns, operations, and the bridge to other frameworks - with time estimates and the pages…
- Reviewing and being reviewed How review works in the Exponential community - why 7x does many review rounds, how to get through them, squash and rebase, how community members can review others' pull requests, and how to give and take feedback…
- Schedules and cron in 7x SQLI Import How 7x SQLI Import 2.0 starts imports by itself - the schedule kinds from once to cron expressions, time zones, missed runs, the Schedules page, the cron parts sqliimport and expqueue - and how another system starts an…
- Siteaccess settings A siteaccess is one face of an installation - a public site, a language, the administration. How a request picks its siteaccess, which settings define one, and a complete commented example of a public siteaccess.
- Smarty and the template language side by side A side-by-side table of Smarty syntax and the Exponential template language - output, modifiers and operators, assignment, defaults, conditions, loops, cycling, include, literal, delimiters, comments, capture, escaping…
- Tags and releases are permanent Why a pushed tag and a published release can never be moved, replaced or re-cut - Packagist and every installation keep what they first saw - and what to do instead when a release went out wrong.
- Taking inventory of an old extension Find out what an old extension contains and what will need work before you change a line: files, settings, PHP entry points, JavaScript, inline code, database tables, with the commands to list each.
- The log viewer Reading Exponential's logs in the administration (Setup > Log files) and on the shell (exp:logs) - which logs exist, permalinks, following a file live, searching, finding an error by its reference, masking of personal…
- The package server Overview of the package server that publishes Exponential's site installer packages, exponential.packages.exponential.earth, with a map of the pages that explain what it is, what it holds, how it is built and released…
- The PHP stack of the Exponential ecosystem The landing page of the PHP stack part of the ecosystem section - PHP versions, databases, web servers and engines, operating systems, the upstream projects Exponential uses and gives back to, and the standards and…
- The roadmap: what is planned and how to shape it Where the Exponential roadmap lives (the official roadmap and the community roadmap on Share Exponential), what it lists for Exponential 6, the Platform distributions, Basic and the community websites, which items the…
- The tools you need The short list of tools for extension development with Exponential - a terminal, PHP 8, Composer 2, Git, a text editor, a browser with developer tools, xmllint and PHPUnit - with the command that checks each one.
- Variables and def Creating, changing and removing template variables with def, set and undef; scopes (current, root, global) for passing values up; default for optional parameters; and the naming habits that avoid clashes between…
- With RAD: a datatype The Datatype wizard writes a rating datatype: form, storage and abilities, the files, what you still write, and two corrections to make by hand, from the wizard's real output.
- PHP versions in the ecosystem Which PHP versions the Exponential ecosystem supports - PHP 8.0 to 8.5 for Exponential 6 and Velocity, what the CI tests, PHP 7 only in old releases, the aim for 8.6 and later, and the platform line's own PHP…
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