Umstieg von Laravel
Diese Seite richtet sich an Entwickler, die mit Laravel bauen. Laravel gibt Ihnen einen Werkzeugkasten, und Sie bauen das CMS; Exponential gibt Ihnen ein CMS mit einem Anwendungs-Framework darunter. Vieles von dem, was Sie sonst programmieren würden (Administrationsbildschirme, Revisionen, Übersetzungen, Berechtigungen, Slugs), ist bereits vorhanden; für einige Annehmlichkeiten von Laravel gibt es keine Entsprechung.
Inhalt
- Gegenüberstellung
- Was Sie ohne Code erhalten
- Was Ihnen fehlen wird
- Gewohnheiten, die Sie anpassen sollten
- Ihre erste Woche
Gegenüberstellung
| Laravel | Exponential 6 | Seite |
|---|---|---|
routes/web.php | Views in module.php; URL-Aliase für Inhalte | Routing |
| Controller | Modul-Views | Controller |
| Blade | die Template-Sprache | Die View-Schicht |
| Eloquent-Modelle | Inhaltsklassen für redaktionelle Daten; eZPersistentObject für Ihre Tabellen | Das Inhaltsmodell, ORM |
| Migrationen, Seeder | .dba-Schemadateien, Upgrade-Skripte, Pakete | Migrationen |
| Middleware | Request-Regeln, Eingabe- und Ausgabe-Listener | Middleware |
@csrf | wird für angemeldete Benutzer automatisch von ezformtoken ergänzt | Formulare und CSRF |
| Form Requests, Validierungsregeln | Prüfungen im View oder in einer Validator-Klasse; Datentypen für Inhalte | Validierung |
| Gates und Policies | Funktionen in module.php, Rollen und Richtlinien als Daten | Autorisierung |
| Events, Observer | ezpEvent, Workflows bei Inhaltsoperationen | Ereignisse, Workflows |
| Queues, Horizon | expqueue, Setup > Job queue | Warteschlangen |
| Scheduler | Cronjob-Teile | Geplante Aufgaben |
| Artisan | bin/php/console | Kommandozeile |
.env, config/*.php | EXP_ENV, INI-Dateien | Konfiguration, Umgebungen |
Cache::remember() | processCache(), {cache-block}, der View-Cache | Caching |
__(), lang/ | ezpI18n::tr(), der Operator i18n, .ts-Dateien | Übersetzungen |
| Octane | die persistenten Worker von Velocity | Server und Deployment |
| Sanctum, Passport | persönliche API-Schlüssel, OAuth2 | REST- und JSON-APIs |
Was Sie ohne Code erhalten
- Eine Administrationsoberfläche für jede Inhaltsklasse, mit Entwürfen, Versionen, Verlauf und Vergleich.
- Übersetzungen von Inhalten und URL-Aliase pro Sprache.
- Rollen und Richtlinien, die Administratoren bearbeiten, eingeschränkt nach Bereich, Klasse, Teilbaum, Sprache oder Status.
- Mehrere Websites und mehrsprachige Siteaccesses auf einer Datenbank.
- Einen Shop, Workflows mit Freigabe, Suche, Bildvarianten, einen Seiten-Baukasten (Exponential Layouts) und eine REST-API (Was Exponential ist).
Was Ihnen fehlen wird
- Ein Service-Container und Service-Provider (Dependency Injection).
- Benannte Routen und Route Model Binding.
- Die Relationen, Scopes und der Query Builder von Eloquent (Abfragen).
- Blade-Komponenten und automatisches Escaping.
- Ein HTTP-Test-Client im selben Prozess und Model Factories (Testen).
Gewohnheiten, die Sie anpassen sollten
- Fragen Sie sich vor dem Anlegen einer Tabelle, ob Redakteure die Daten verwalten: Wenn ja, ist es eine Inhaltsklasse.
- Maskieren Sie jeden ausgegebenen Wert mit
|wash. - Führen Sie nach Codeänderungen
./console exp:velocity deployaus, so wie Sie sonstoctane:reloadausführen würden. - Prüfen Sie mit
./console exp:ini where, woher eine Einstellung stammt, bevor Sie sie ändern.
Ihre erste Woche
Folgen Sie dem Plan auf Umstieg von Symfony; er gilt ebenso für Laravel-Entwickler, mit Aufgabe: ein kleines CRUD-Modul bauen als Kernstück.
Verwandte Seiten
- Begriffswörterbuch
- Wann Sie Exponential wählen sollten
- Zehn Stolperfallen für Framework-Entwickler
- Freie Dokumentation: Diese Seite darf unter der GNU FDL 1.3 frei kopiert, übersetzt und verbessert werden.
Werden Sie Exponential-Partner
Partner teilen ihre Informationen, stellen Mittel bereit, geben Beiträge zurück und entwickeln die Produkte mit uns, und so wächst Exponential. Eine Partner-Website und ein Dashboard sind für Mitte 2027 geplant: Werden Sie noch heute Partner, damit wir schneller wachsen und neue Funktionen früher liefern.