Maison > développement back-end > tutoriel php > Nouveau dans EasyAdmin : de jolies URL

Nouveau dans EasyAdmin : de jolies URL

Susan Sarandon
Libérer: 2024-11-07 18:12:03
original
224 Les gens l'ont consulté

New in EasyAdmin: Pretty URLs

La fonctionnalité la plus demandée pour EasyAdmin vient d'arriver dans la version 4.14.0.

Depuis le premier jour, EasyAdmin utilise des paramètres de chaîne de requête pour transmettre les informations nécessaires
informations pour le rendu des pages backend. Cette approche a créé des URL telles que :

https://example.com/admin?crudAction=edit&crudControllerFqcn=App%5CController%5CAdmin%5CPostCrudController&entityId=3874
Copier après la connexion

Bien que ce format d'URL soit moche, il est fonctionnel. Certains navigateurs, comme Safari, même
masquer la plupart de l'URL par défaut, en affichant uniquement le nom d'hôte, donc l'impact sur
les utilisateurs finaux sont minimes.

Cependant, à partir d'aujourd'hui, EasyAdmin génère des URL plus propres qui ressemblent à ceci :

https://example.com/admin/post/3874/edit
Copier après la connexion

En plus d'être la fonctionnalité la plus demandée, nous avons implémenté ce changement pour
deux raisons principales :

  • L'ancienne et laide URL divulgue des détails internes sur l'application, comme le espace de noms du contrôleur CRUD. C'est généralement bien, comme la plupart des backends ne partageons pas d'URL avec des utilisateurs externes, mais ce n'est pas idéal.
  • Construire ces URL laides avec la classe AdminUrlGenerator est fastidieux. Maintenant, vous pouvez utiliser des noms de route comme admin_post_edit ou admin_user_index et compter sur les fonctionnalités intégrées de Symfony pour générer les URL.

Comment activer de jolies URL ?

Cette fonctionnalité a été conçue pour fonctionner de manière transparente avec les applications actuelles. Si
vous n'apportez aucune modification, l'application utilisera toujours des URL laides, et
tout continuera à fonctionner comme avant.

Si vous souhaitez commencer à utiliser de jolies URL maintenant, créez la configuration suivante
déposer dans votre candidature :

# config/routes/easyadmin.yaml
easyadmin
    resource: .
    type: easyadmin.routes
Copier après la connexion

Cette configuration active un chargeur de route Symfony personnalisé, une classe qui
génère automatiquement des itinéraires dans votre application. Videz le cache (en exécutant
php bin/console cache:clear ou rm -fr var/cache/*) et l'application le fera
commencez à utiliser de jolies URL. Exécutez la commande suivante pour voir tous les nouveaux générés
itinéraires :

php bin/console debug:router
Copier après la connexion

Vous pouvez désormais également mettre à jour votre code pour arrêter de créer des URL backend avec le
Utilitaire AdminUrlGenerator et utilisez directement les nouveaux noms de routes :

// 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]);
Copier après la connexion

Les itinéraires générés sont composés de trois parties : tableau de bord crud action. Chacun
certains d'entre eux peuvent être personnalisés à l'aide des nouveaux attributs PHP #[AdminDashboard],
#[AdminCrud] et #[AdminAction]. Lisez la documentation pour en savoir plus.

Les jolies URL sont toujours facultatives dans les versions EasyAdmin 4.x, mais les URL laides le sont désormais
obsolète. À partir d'EasyAdmin 5.x (sortie prévue prochainement), jolies URL
sera requis.


✨ Si vous avez apprécié cette fonctionnalité et que vous souhaitez en voir davantage, pensez à
sponsoriser le projet EasyAdmin ??

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal