Part 8: Reference of built-in features for extension authors
This is the eighth and last part of Extension development: the book. The earlier parts teach; this one is for looking things up. Each page covers one kernel class or one area, lists what an extension author uses most (with method signatures copied from the source as of October 2026), shows a short example and links to the full documentation. It is not a complete API reference: the kernel's source and the pages linked from each chapter are.
The pages
Classes of the kernel
| Page | For |
|---|---|
| Extension points at a glance | every way to plug in, on one page |
| eZINI | reading settings |
| eZDebug and logging | debug output and log files |
| eZDB | the database |
| eZPersistentObject | your own tables |
| eZContentObject | content objects |
| eZContentObjectTreeNode | nodes, the content tree |
| eZContentClass | content classes and their attributes |
| eZUser and access checks | the current user and policies |
| Demo mode for developers | EXP_DEMO_MODE, password changes on a public demo |
| eZHTTPTool | request variables, sessions, redirects |
| eZSys and eZExtension | paths, the environment, extensions |
| eZTemplate | templates from PHP |
| eZModule | modules and view results |
| eZScript and eZCLI | command line scripts |
| eZFile, eZDir and cluster files | files |
APIs for extension types
| Page | For |
|---|---|
| The eZDataType API | datatypes |
| The eZWorkflowType API | workflow event types |
| Content functions from PHP | creating and publishing content |
| ezjscore server functions | Ajax calls |
| ezformtoken and CSRF | form protection |
| eZMail | sending mail |
| Cache tags and clearing | caches |
Templates, settings, commands
| Page | For |
|---|---|
| Built-in template operators | operators by group |
| Built-in template functions | {def}, {foreach}, {include} and the rest |
| Built-in fetch functions | fetch( module, function, ... ) |
| INI files an extension author meets | which file holds what |
| Console commands for developers | ./console and bin/php |
| Directories under var/ | caches, logs, storage |
| Error codes and module results | errors from views |
Exponential 6 additions
| Page | For |
|---|---|
| The expui JavaScript API | Exp.* in the browser |
| admin4 components and tokens | admin pages |
| The help system for extensions | help pages in your extension |
| expservices | remote services |
| Glossary | the words of this book |
Related pages
- Previous: The release checklist
- Next: Extension points at a glance
- Extension points
- The extension surface
- Extension development: the book
- Free documentation: this page is free to copy, translate and improve under the GNU FDL 1.3.
Become an Exponential Partner
Partners share their information, provide funding, contribute back and develop the products with us, and that is how Exponential grows. A partner website and dashboard are planned for mid-2027: please become a partner today to speed up our growth rate and land new features faster.