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

Coming from Laravel

A guide for Laravel developers - routes, controllers, Blade, Eloquent, migrations, middleware, gates, queues, the scheduler, Artisan and Octane, each with its Exponential counterpart, what you get without code…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/web-framework-developers/coming-from-laravel.md

On this page

Coming from Laravel

This page is for developers who build with Laravel. Laravel gives you a toolkit and you build the CMS; Exponential gives you a CMS with an application framework underneath. Much of what you would code (admin screens, revisions, translations, permissions, slugs) is already there; some Laravel conveniences have no counterpart.

Contents

  1. Side by side
  2. What you get without code
  3. What you will miss
  4. Habits to adjust
  5. Your first week

Side by side

LaravelExponential 6Page
routes/web.phpmodule.php views; URL aliases for contentRouting
Controllersmodule viewsControllers
Bladethe template languageThe view layer
Eloquent modelscontent classes for editorial data; eZPersistentObject for your tablesThe content model, ORM
Migrations, seeders.dba schema files, upgrade scripts, packagesMigrations
Middlewarerequest rules, input and output listenersMiddleware
@csrfadded automatically for signed-in users by ezformtokenForms and CSRF
Form requests, validation ruleschecks in the view or a validator class; datatypes for contentValidation
Gates and policiesfunctions in module.php, roles and policies as dataAuthorization
Events, observersezpEvent, workflows on content operationsEvents, Workflows
Queues, Horizonexpqueue, Setup > Job queueQueues
Schedulercronjob partsScheduled tasks
Artisanbin/php/consoleCommand line
.env, config/*.phpEXP_ENV, INI filesConfiguration, Environments
Cache::remember()processCache(), {cache-block}, the view cacheCaching
__(), lang/ezpI18n::tr(), the i18n operator, .ts filesTranslations
OctaneVelocity's persistent workersServers and deployment
Sanctum, Passportpersonal API keys, OAuth2REST and JSON APIs

What you get without code

  • An administration for every content class, with drafts, versions, history and compare.
  • Translations of content and per-language URL aliases.
  • Roles and policies administrators edit, limited by section, class, subtree, language or state.
  • Multisite and multilingual siteaccesses on one database.
  • A shop, workflows with approval, search, image variations, a page builder (Exponential Layouts) and a REST API (What Exponential is).

What you will miss

  • A service container and service providers (Dependency injection).
  • Named routes and route model binding.
  • Eloquent's relations, scopes and query builder (Queries).
  • Blade components and auto-escaping.
  • An in-process HTTP test client and model factories (Testing).

Habits to adjust

  • Before creating a table, ask whether editors manage the data: if so, it is a content class.
  • Escape every printed value with |wash.
  • Run ./console exp:velocity deploy after code changes, as you would octane:reload.
  • Check where a setting comes from with ./console exp:ini where before changing it.

Your first week

Follow the plan on Coming from Symfony; it is the same for Laravel developers, with Task: build a small CRUD module as the centerpiece.

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