Umstieg von Symfony
Diese Seite richtet sich an Entwickler, die mit Symfony arbeiten. Viele Konzepte von Exponential haben ein Gegenstück in Symfony, einige nicht, und es gibt eine Symfony-basierte Exponential-Produktlinie, falls Sie ganz bei Symfony bleiben möchten. Lesen Sie die Seite mit dem Begriffswörterbuch zur Hand.
Inhalt
- Was sich direkt übertragen lässt
- Was anders funktioniert
- Gewohnheiten, die Sie behalten, und Gewohnheiten, die Sie ablegen
- Ihre erste Woche
- Bei Symfony bleiben
Was sich direkt übertragen lässt
| Symfony | Exponential 6 | Seite |
|---|---|---|
public/index.php, Kernel::handle() | index.php, ezpKernel mit ezpKernelWeb | Der Request-Lebenszyklus |
Listener für kernel.request, kernel.response | Listener für request/input, Filter für response/output | Ereignisse und Listener |
bin/console, #[AsCommand] | bin/php/console, Exponential\Runnable\Command | Kommandozeile |
Bundles, config/bundles.php | Erweiterungen, ActiveExtensions[] | Pakete |
APP_ENV, when@prod | EXP_ENV, Einstellungsvarianten | Umgebungen |
| Messenger | expqueue | Warteschlangen |
| Translation-Komponente | .ts-Kataloge, Operator i18n | Übersetzungen |
| Web Profiler | Exp-Debug-Leiste | Debugging |
Was anders funktioniert
| Symfony | Exponential 6 | Seite |
|---|---|---|
| DependencyInjection-Container, Autowiring | kein Container; in INI benannte Handler-Klassen, Factories | Dependency Injection |
| Routing-Komponente, Attribut-Routen | /<module>/<view>, deklariert in module.php; URL-Aliase für Inhalte | Routing |
Controller, die eine Response zurückgeben | Modul-Views, die ein $Result-Array zurückgeben | Controller |
Twig mit extends und Blöcken, automatisches Escaping | die Template-Sprache mit Overrides, |wash von Hand | Die View-Schicht |
| Doctrine-Entitäten und -Migrationen | Inhaltsklassen; eZPersistentObject; .dba-Schemadateien | ORM, Migrationen |
| Form-Komponente | Templates, Modulaktionen, ezformtoken | Formulare |
| Security: Firewalls, Voter | Login-Handler, Rollen und Richtlinien als Daten gespeichert | Autorisierung |
| YAML-Konfiguration | INI-Dateien in Ebenen | Konfiguration |
| HttpCache, ESI | rollenabhängiger HTTP-Cache, Velocity-Response-Cache; kein ESI | HTTP-Caching |
Gewohnheiten, die Sie behalten, und Gewohnheiten, die Sie ablegen
Behalten Sie: schlanke Controller mit der Logik in Diensten, Konstruktorparameter für die Testbarkeit, PHPUnit, umgebungsspezifische Konfiguration, niemals Geheimnisse committen, ein Befehl pro Deployment-Schritt.
Legen Sie ab: die Suche nach einem Container, in dem Sie Dienste registrieren; die Erwartung von automatischem Escaping;
eine Entität und eine Migration für etwas zu schreiben, das Redakteure pflegen (machen Sie daraus eine Inhaltsklasse);
denselben Wert in fünf Ebenen zu konfigurieren, ohne exp:ini where zu prüfen; die Annahme, dass jeder Request einen
frischen Prozess bekommt (Velocity hält Worker vor, wie es RoadRunner tun würde).
Ihre erste Woche
- Installieren Sie eine Entwicklungskopie (
./console exp:install --apply) und lesen Sie Exponential für Web-Framework-Entwickler. - Tag zwei: Der Request-Lebenszyklus, Siteaccesses, Konfiguration.
- Tag drei: Aufgabe: ein kleines CRUD-Modul bauen.
- Tag vier: Das Inhaltsmodell für ORM-Nutzer und Template-Auflösung.
- Tag fünf: Server und Deployment und Testen.
Bei Symfony bleiben
Wenn Ihr Projekt eine Symfony-Anwendung sein muss, gibt es zwei Wege:
- Exponential Platform DXP ist ein reines Symfony-CMS, aufgebaut wie jedes Symfony-Projekt (Die Plattformprodukte).
- Die Legacy Bridge betreibt Exponential 6 innerhalb eines Symfony-Plattformprojekts, sodass Redakteure die Legacy-Administration behalten, während Sie Symfony-Code und Twig schreiben (Die Symfony Legacy Bridge).
Verwandte Seiten
- Umstieg von Laravel
- Exponential und ein Framework kombinieren
- 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.