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

Web framework developer FAQ

Short answers to the questions developers from Symfony, Laravel, Django, Rails, Express and Spring ask most about Exponential - is it a framework, where is the container, can I use Twig or Composer libraries, how do…

Download as PDF

Address: https://doc.exponential.earth/learninminutes/exphelp/viewer/help/web-framework-developers/web-framework-developer-faq.md

On this page

Web framework developer FAQ

This page is for developers with a quick question. Each answer links to the page with the details.

Contents

  1. Is Exponential a framework or a CMS?
  2. Where is the service container?
  3. Is there a router with named routes?
  4. Is there an ORM?
  5. How do migrations work?
  6. Can I use Twig or Blade?
  7. Can I use Composer libraries?
  8. Does it follow PSR-7 and PSR-15?
  9. Is there middleware?
  10. Is there an equivalent of Octane or RoadRunner?
  11. Is there GraphQL?
  12. How do I test?
  13. How do I run background jobs?
  14. Which databases?
  15. Where do I start?

Is Exponential a framework or a CMS?

Both. Its README calls it "a professional PHP application framework with advanced CMS (content management system) functionality" (Exponential for web framework developers).

Where is the service container?

There is none in the Exponential 6 kernel. Classes are found through generated class maps, configurable implementations through handler settings (Dependency injection and services).

Is there a router with named routes?

No. Addresses follow /<module>/<view>/<parameters>, declared in module.php; content gets URL aliases automatically (Routing, Pretty URLs).

Is there an ORM?

eZPersistentObject maps your own tables to classes; content uses the content API with versions and translations (ORM, The content model).

How do migrations work?

Tables are described in database-neutral .dba files; you ship an install command and upgrade steps. There is no migration runner (Migrations).

Can I use Twig or Blade?

Not in Exponential 6 alone. Twig is available when Exponential 6 runs inside Symfony through the legacy bridge (The view layer).

Can I use Composer libraries?

Yes. autoload.php loads Composer's autoloader, and extensions are Composer packages (Packages).

Does it follow PSR-7 and PSR-15?

The kernel predates them: requests are read through eZHTTPTool, responses are result arrays or direct output (Coming from Slim, CodeIgniter, Yii, CakePHP or Laminas).

Is there middleware?

Request rules, request/input listeners and response/output filters cover most middleware uses (Middleware).

Is there an equivalent of Octane or RoadRunner?

Yes: Exponential Velocity runs the installation in persistent workers and is part of Exponential as of 6.0.15; FrankenPHP is the alternative (Servers and deployment).

Is there GraphQL?

Not in Exponential 6; its APIs are REST, ezjscore and expservices. The Symfony-based platform products ship GraphQL (REST and JSON APIs, The platform products).

How do I test?

PHPUnit; most tests without a database, integration tests against a throwaway database (Testing).

How do I run background jobs?

With the expqueue job queue, cronjob parts and content jobs (Queues).

Which databases?

SQLite (the default), PostgreSQL, MongoDB, MariaDB, Oracle and MySQL (Database support).

Where do I start?

At Web framework developers: start here, then the reading path.

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