首页 >后端开发 >php教程 >EasyAdmin 的新功能:漂亮的 URL

EasyAdmin 的新功能:漂亮的 URL

Susan Sarandon
Susan Sarandon原创
2024-11-07 18:12:03222浏览

New in EasyAdmin: Pretty URLs

EasyAdmin 最受欢迎的功能刚刚在 4.14.0 版本中推出。

从第一天开始,EasyAdmin 就使用查询字符串参数来传递必要的
渲染后端页面的信息。这种方法创建的 URL 如下:

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

虽然这个 URL 格式很难看,但它很实用。某些浏览器,例如 Safari,甚至
默认隐藏大部分URL,只显示主机名,所以影响
最终用户很少。

但是,从今天开始,EasyAdmin 会生成更清晰的 URL,如下所示:

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

除了是最受欢迎的功能之外,我们还针对
实施了此更改 两个主要原因:

  • 旧的、丑陋的 URL 泄露了应用程序的内部详细信息,例如 CRUD 控制器的命名空间。这通常很好,因为大多数后端 不与外部用户共享 URL,但这并不理想。
  • 使用 AdminUrlGenerator 类构建这些丑陋的 URL 非常麻烦。现在, 您可以使用诸如 admin_post_edit 或 admin_user_index 之类的路由名称并依赖 Symfony 的内置功能可生成 URL。

如何启用漂亮的 URL?

此功能旨在与当前应用程序无缝协作。如果
如果您不进行任何更改,应用程序仍将使用丑陋的 URL,并且
一切都会像以前一样继续进行。

如果您想立即开始使用漂亮的 URL,请创建以下配置
您的应用程序中的文件:

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

此配置启用自定义 Symfony 路由加载器,该类
在您的应用程序中自动生成路由。清除缓存(通过运行
php bin/console 缓存:清除或 rm -fr var/cache/*) 并且应用程序将
开始使用漂亮的 URL。运行以下命令查看所有新生成的
路线:

php bin/console debug:router

您现在还可以更新代码以停止使用
构建后端 URL AdminUrlGenerator 实用程序并直接使用新的路由名称:

// 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]);

生成的路由由三部分组成:仪表板增删改查操作。每个
其中可以使用新的 PHP 属性进行自定义 #[AdminDashboard],
#[AdminCrud] 和#[AdminAction]。阅读文档以了解更多信息。

在 EasyAdmin 4.x 版本中,漂亮的 URL 仍然是可选的,但现在丑陋的 URL 是
已弃用。 从 EasyAdmin 5.x 开始(计划很快发布),漂亮的 URL
需要。


✨ 如果您喜欢此功能并希望看到更多类似功能,请考虑
赞助 EasyAdmin 项目??

以上是EasyAdmin 的新功能:漂亮的 URL的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn