Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,059 of 9,059 pages
About the help in other languages
All help pages

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.

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/extension-development/part-3-extension-developer/README.md

On this page

Part 3: The extension developer

This is the third and largest part of Extension development: the book. It explains, one mechanism per chapter, how an extension plugs PHP code into the kernel: where the code goes, which setting registers it, the contract (class and methods, copied from the kernel source), a minimal example that was checked with php -l and, where it is safe, run with the kernel loaded; how to see that it works; the common mistakes; and the RAD wizard that writes it for you. The tutorials then build real small extensions step by step.

The anatomy

The shell of an extension

Chapter
The extension directory layoutevery folder name and what the kernel does with it
ezinfo.php, extension.xmlwho made it, which version, which license, dependencies
Activating an extension, Extension load orderswitching it on, and who wins
composer.json for an extensioninstalling it with Composer
Settings in an extensionyour own INI file and reading it
Autoloads and class naminghow your classes are found

Pages and permissions

Chapter
Modules and views, View parameterspages with their own address
Policy functions and access checkswho may open them
View results and the pagelayoutwhat a view returns

Templates

Chapter
Template operators, Fetch functions, Template functionsgiving templates new abilities

Content and processes

Chapter
Datatypes, Datatype storage, validation and templatesnew kinds of fields
Workflow event types, Triggers and workflows for developerssteps around publishing
Cronjob parts, CLI scripts and console commandswork outside a request
Facts, themes and logos for the system cardadd your extension to exp:expfetch, exp:info and exp:about

Front end

Data and the system

Quality

Tutorials

Tutorials: build real extensions step by step: the RAD tools tour, then each kind of extension built with the RAD wizard and again by hand, ending with a capstone extension from idea to release.

Before you start

You should have read Part 1 and know the builder's tools of Part 2. You need a development installation with debug output on and basic PHP.

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.

Something wrong on this page? Report an error

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