Recent changes
35934 changed pages · Atom feed · Recent comments · Recently added · Recent ratings
Wednesday November 04 2026
- FrankenPHP for PHP developers (Updated, Markdown page)
Markdown documentation (help center) · PHP development · Changed 01:08 pm
What a PHP developer needs to know when Exponential is served by FrankenPHP through exp:velocity - classic mode with a clean state per request, why worker mode is not offered, the embedded PHP and its ini settings, the… - Git hooks and make targets (Updated, Markdown page)
Markdown documentation (help center) · PHP development · Changed 01:08 pm
The local checks of the Exponential repository - the pre-commit, commit-msg and pre-push hooks in .githooks/, every make target from make check to make lint80-all, the file manifest share/filelist.md5, and the commit… - Glossary for PHP developers (Updated, Markdown page)
Markdown documentation (help center) · PHP development · Changed 01:08 pm
The terms a PHP developer meets in Exponential code and documentation, from accumulator and append.php to worker and zygote, each with a one-line meaning and the page or file that explains it. - How a request runs in PHP (Updated, Markdown page)
Markdown documentation (help center) · PHP development · Changed 01:08 pm
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… - Plain CLI scripts with eZScript and ezexec (Updated, Markdown page)
Markdown documentation (help center) · PHP development · Changed 01:08 pm
The classic way to write a command line script with eZScript and eZCLI, which still works and which you will meet in older extensions - instance(), startup(), getOptions(), initialize(), shutdown() - plus running… - Logs, the log viewer and request logs (Updated, Markdown page)
Markdown documentation (help center) · PHP development · Changed 01:08 pm
The log files a PHP developer reads and writes - error.log, warning.log, deprecated.log, 404.log, security.log and your own via eZLog::write() - the log viewer in Setup > Logs and on the command line with explogs.php… - Module views as classes (Updated, Markdown page)
Markdown documentation (help center) · PHP development · Changed 01:08 pm
How module views, commands and cronjob parts are written as classes since Exponential 6.0.15 - the Runnable hierarchy, the one-line entry files, the scope a view receives, services shared by views and commands, the… - OPcache and cache preloading (Updated, Markdown page)
Markdown documentation (help center) · PHP development · Changed 01:08 pm
Two different kinds of "preloading" a PHP developer meets in Exponential - the opcode cache (OPcache) and the settings that matter under PHP-FPM and Velocity, and the site cache preloader bin/php/preload.php… - Persistent object definitions in depth (Updated, Markdown page)
Markdown documentation (help center) · PHP development · Changed 01:08 pm
eZPersistentObject for PHP developers - every key of definition(), the field forms, the condition syntax of fetchObjectList() with operators, ranges and IN lists, sorting, limits and custom fields, store() and sync()… - PHP 8 migration notes for your code (Updated, Markdown page)
Markdown documentation (help center) · PHP development · Changed 01:08 pm
What to change in older PHP code so it runs cleanly on PHP 8.0 to 8.5 (PHP 7.4 usable without support) under Exponential 6 - dynamic properties, count() on non-arrays, null passed to string functions, SPL return types… - Checklists for PHP developers (Updated, Markdown page)
Markdown documentation (help center) · PHP development · Changed 01:08 pm
Copyable checklists for PHP work on Exponential - before you write, for every PHP file, for a new class, a view, a command or cronjob part, a datatype or workflow event, security, Velocity compatibility, tests, a commit… - The PHP developer's reading path (Updated, Markdown page)
Markdown documentation (help center) · PHP development · Changed 01:08 pm
Every page of the PHP developers section in a recommended reading order, in six stages from orientation to contributing, with the time each stage takes and what you can do after it. - PHP Developers: start here (Updated, Markdown page)
Markdown documentation (help center) · PHP development · Changed 01:08 pm
Where PHP developers start - what Exponential is as a PHP code base, your first hour, the rules every PHP change follows, and a map of every page for PHP developers, from the request life cycle and PHP 8.0 compatibility… - PHPUnit without a database (Updated, Markdown page)
Markdown documentation (help center) · PHP development · Changed 01:08 pm
How Exponential's PHPUnit setup works for PHP developers - phpunit.xml, tests/bootstrap.php, the test suites and excluded groups, PHPUnit 10 to 13 across PHP 8.1 to 8.5, writing a DB-less test for kernel or extension… - Profiling PHP code (Updated, Markdown page)
Markdown documentation (help center) · PHP development · Changed 01:08 pm
Measuring and speeding up PHP code in Exponential - exp:benchmark for pages, kernel probes and micro benchmarks, eZDebug accumulators around your own code, the debug bar's SQL and memory figures, the OPcache profile… - Reading settings with eZINI (Updated, Markdown page)
Markdown documentation (help center) · PHP development · Changed 01:08 pm
The eZINI API for PHP developers - instance(), variable(), hasVariable(), variableArray(), group() and hasGroup(), the order of the settings layers, environment variants, arrays and empty resets, defaults for missing… - Security in PHP code (Updated, Markdown page)
Markdown documentation (help center) · PHP development · Changed 01:08 pm
The security rules for PHP code in Exponential in one place - validate input, cast numbers, escape SQL and output by context, protect POSTs with the form token, check permissions in every entry point, redirect safely… - SQL with eZDB, safely (Updated, Markdown page)
Markdown documentation (help center) · PHP development · Changed 01:08 pm
Writing SQL in Exponential with eZDB - instance(), query() and arrayQuery() with limit and offset, escapeString() for strings and (int) casts for numbers, generateSQLINStatement(), transactions with begin(), commit()… - Static analysis with PHPStan (Updated, Markdown page)
Markdown documentation (help center) · PHP development · Changed 01:08 pm
How Exponential uses PHPStan - level 1 over kernel/ and lib/ with a baseline of existing findings, what is excluded and why, running it locally and in CI, reading a finding, fixing it instead of baselining it, and… - Static publishing from the command line and CI (Updated, Markdown page)
Markdown documentation (help center) · PHP development · Changed 01:08 pm
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.