Concept dictionary: framework terms in Exponential
This page is for developers who think in the terms of another framework and want the matching Exponential term quickly. Each row names the term, what Exponential uses instead, the class or setting where it lives, and the page that explains it. Where Exponential has no direct equivalent, the row says so.
Contents
- Request and routing
- Views and templates
- Data and persistence
- Configuration and wiring
- Security
- Background work, APIs and tooling
- No direct equivalent
Request and routing
| Framework term | Exponential term | Where | Read |
|---|---|---|---|
| Front controller | index.php with ezpKernel and ezpKernelWeb | kernel/private/classes/ezpkernelweb.php | The request lifecycle |
| Host or tenant resolution, app per domain | siteaccess matching | site.ini [SiteAccessSettings] MatchOrder | Siteaccesses |
| Route, URL pattern | module and view (/<module>/<view>/...) | extension/<ext>/modules/<module>/module.php | Routing |
| Route parameter | ordered params and unordered (name)/value parameters | $ViewList[...]['params'], unordered_params | Routing |
| Slug, permalink | URL alias | eZURLAliasML | Pretty URLs |
| Redirect route, rewrite | URL wildcard | eZURLWildcard | Pretty URLs |
| Controller, action | module view (script or Exponential\Runnable\ModuleView class) | kernel/private/classes/runnable/moduleview.php | Controllers |
| Response object | the $Result array, or output plus eZExecution::cleanExit() | eZModule | Responses |
| Middleware, before filter | request rules; request/input listeners | settings/requestrules.ini, site.ini [Event] | Middleware |
| After filter, response middleware | response/output filter listeners | site.ini [Event] Listeners[] | Events and listeners |
Views and templates
| Framework term | Exponential term | Where | Read |
|---|---|---|---|
| Twig, Blade, Jinja, ERB | the template language (.tpl) | lib/eztemplate/ | The view layer |
Base layout, extends | the pagelayout (pagelayout.tpl) around $module_result | design of the siteaccess | The view layer |
| Template inheritance, theme override | design chain and override.ini | site.ini [DesignSettings], override.ini | Template resolution |
| View helper, filter, Twig extension | template operator | eztemplateautoload.php | Fetch functions and operators |
| View composer, view model | fetch function (fetch( 'module', 'function', hash() )) | function_definition.php | Fetch functions and operators |
| Partial, include | {include uri='design:...'} | template language | The view layer |
| Fragment cache | {cache-block} | template language | Caching |
| Translation function | the i18n operator, ezpI18n::tr() | kernel/common/ezpi18n.php | Translations |
Data and persistence
| Framework term | Exponential term | Where | Read |
|---|---|---|---|
| Model, entity, active record | eZPersistentObject subclass | kernel/classes/ezpersistentobject.php | ORM |
| Content type, CMS model | content class | eZContentClass | The content model |
| Record of a content type | content object, its versions and its nodes | eZContentObject, eZContentObjectTreeNode | The content model |
| Field type, column type | datatype | extends eZDataType | The content model |
| Query builder | fetch parameters (subTreeByNodeID()), eZPersistentObject conditions, eZDB SQL | lib/ezdb/ | Queries |
| Database connection | eZDB::instance() | lib/ezdb/classes/ | Queries |
| Migration | .dba schema file plus your upgrade scripts | extension/<ext>/share/db_schema.dba | Migrations |
| Seeder, fixture | db_data.dba, content packages, eZContentFunctions | share/, .ezpkg | Migrations |
Configuration and wiring
| Framework term | Exponential term | Where | Read |
|---|---|---|---|
config/*.yaml, config/*.php, settings.py | INI files in layers | settings/, extension/<ext>/settings/ | Configuration |
.env, APP_ENV | EXP_ENV in config.env.php and settings variants | config.env.php.example | Environments and secrets |
| Service container, providers | none in the kernel; handler classes named in INI | eZExtension::getHandlerClass() | Dependency injection |
| Bundle, package, app | extension | extension/<ext>/ | Packages |
| Event dispatcher | ezpEvent | kernel/private/classes/ezpevent.php | Events and listeners |
| Model observers, signals, callbacks | workflows and triggers on operations; event listeners | workflow.ini, site.ini [Event] | Workflows |
Security
| Framework term | Exponential term | Where | Read |
|---|---|---|---|
| Authentication, guard, firewall | login handlers, sessions, siteaccess login check | site.ini [UserSettings] LoginHandler[] | Authentication |
| Authorization, voter, gate, policy | role, policy, function, limitation | eZRole, eZPolicy, $FunctionList | Authorization |
| CSRF middleware | ezformtoken | extension/ezformtoken/ | Forms and CSRF |
| Form request, validator | module actions plus your checks; datatype validation for content | eZInputValidator | Validation |
| API tokens | personal API keys, OAuth2, expservices tokens | rest.ini, apikey module | REST and JSON APIs |
Background work, APIs and tooling
| Framework term | Exponential term | Where | Read |
|---|---|---|---|
| Console, artisan, manage.py | bin/php/console | bin/php/ | Command line |
| Queue, job, worker | expqueue jobs and handlers | extension/expqueue/ | Queues |
| Scheduler | cronjob parts run by runcronjobs.php | settings/cronjob.ini | Scheduled tasks |
| REST resource, API controller | REST provider, ezjscore server function, expservices | ezprestapi, ezjscore.ini | REST and JSON APIs |
| Profiler toolbar | the Exp debug bar | site.ini [DebugSettings] | Debugging |
| Application server (Octane, RoadRunner) | Exponential Velocity, FrankenPHP | settings/velocity.ini | Servers and deployment |
No direct equivalent
Say these out loud early in a project, so nobody looks for them:
- A general dependency injection container with autowiring. Not in the legacy kernel.
- Annotation or attribute routing. Routes are declared in
module.phparrays only. - Migration classes with up and down methods and a migrations table. Schema files and your own upgrade scripts take their place.
- Template inheritance with blocks. Overrides and includes take its place.
- Automatic output escaping. Templates escape with
|washwhere you write it (No automatic escaping).
Related pages
- Glossary for web framework developers
- PHP developers: start here
- Application creators: start here
- 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.