Heim  >  Artikel  >  Backend-Entwicklung  >  Neu in EasyAdmin: Hübsche URLs

Neu in EasyAdmin: Hübsche URLs

Susan Sarandon
Susan SarandonOriginal
2024-11-07 18:12:03104Durchsuche

New in EasyAdmin: Pretty URLs

Die am häufigsten nachgefragte Funktion für EasyAdmin ist gerade in Version 4.14.0 eingetroffen.

Seit dem ersten Tag verwendet EasyAdmin Abfragezeichenfolgenparameter, um das Notwendige zu übergeben
Informationen zum Rendern von Backend-Seiten. Durch diesen Ansatz wurden URLs wie:
erstellt

https://example.com/admin?crudAction=edit&crudControllerFqcn=App%5CController%5CAdmin%5CPostCrudController&entityId=3874

Dieses URL-Format ist zwar hässlich, aber funktional. Einige Browser, wie Safari, sogar
Blenden Sie standardmäßig den größten Teil der URL aus und zeigen Sie nur den Hostnamen an, sodass die Auswirkungen auf
Endbenutzer ist minimal.

Ab heute generiert EasyAdmin jedoch sauberere URLs, die wie folgt aussehen:

https://example.com/admin/post/3874/edit

Diese Änderung ist nicht nur die am häufigsten nachgefragte Funktion, sondern wir haben sie auch für
implementiert zwei Hauptgründe:

  • Die alte, hässliche URL lässt interne Details über die Anwendung durchsickern, wie z Namespace des CRUD-Controllers. Dies ist normalerweise in Ordnung, wie bei den meisten Backends geben keine URLs an externe Benutzer weiter, aber das ist nicht ideal.
  • Das Erstellen dieser hässlichen URLs mit der AdminUrlGenerator-Klasse ist umständlich. Jetzt, Sie können Routennamen wie admin_post_edit oder admin_user_index verwenden und sich darauf verlassen auf die integrierten Funktionen von Symfony zum Generieren der URLs.

Wie aktiviere ich hübsche URLs?

Diese Funktion wurde so konzipiert, dass sie nahtlos mit aktuellen Anwendungen funktioniert. Wenn
Sie nehmen keine Änderungen vor, die Anwendung verwendet weiterhin hässliche URLs und
alles wird weiterhin wie bisher funktionieren.

Wenn Sie jetzt hübsche URLs verwenden möchten, erstellen Sie die folgende Konfiguration
Datei in Ihrer Bewerbung:

# config/routes/easyadmin.yaml
easyadmin
    resource: .
    type: easyadmin.routes

Diese Konfiguration ermöglicht einen benutzerdefinierten Symfony-Routenlader, eine Klasse, die
generiert automatisch Routen in Ihrer Anwendung. Leeren Sie den Cache (durch Ausführen von
php bin/console cache:clear oder rm -fr var/cache/*) und die Anwendung wird
Fangen Sie an, hübsche URLs zu verwenden. Führen Sie den folgenden Befehl aus, um alle neu generierten
anzuzeigen Routen:

php bin/console debug:router

Sie können jetzt auch Ihren Code aktualisieren, um die Erstellung von Backend-URLs mit dem
zu stoppen AdminUrlGenerator-Dienstprogramm und verwenden Sie die neuen Routennamen direkt:

// Before:
$this->adminUrlGenerator()
    // this is only needed if you have ore than 1 dashboard
    ->setDashboard(SomeDashboardController::class)
    ->setController(ProductCrudController::class)
    ->setAction('detail')
    ->setEntityId(321)
    ->generateUrl();

// After:
$this->router->generate('admin_product_detail', ['entityId' => 321]);

Die generierten Routen bestehen aus drei Teilen: Dashboard-Rohaktion. Jeder
davon können mit den neuen PHP-Attributen #[AdminDashboard],
angepasst werden #[AdminCrud] und #[AdminAction]. Lesen Sie die Dokumente, um mehr zu erfahren.

Hübsche URLs sind in EasyAdmin 4.x-Versionen immer noch optional, hässliche URLs jedoch jetzt
veraltet. Ab EasyAdmin 5.x (Veröffentlichung in Kürze geplant), hübsche URLs
wird erforderlich sein.


✨ Wenn Ihnen diese Funktion gefallen hat und Sie mehr davon sehen möchten, denken Sie darüber nach
Sponsoring des EasyAdmin-Projekts ??

Das obige ist der detaillierte Inhalt vonNeu in EasyAdmin: Hübsche URLs. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn