从EasyAdmin 2升级EasyAdmin 3
编辑该页面从EasyAdmin 2升级EasyAdmin 3
EasyAdmin 2大部分的后端配置是YAML文件中定义,而用PHP创建自定义行为。这个伟大的小应用程序的工作,但是很难维护和为中型和大型应用不够灵活。
从EasyAdmin 3,后端是专门使用PHP创建的。YAML不再是用于任何EasyAdmin的一部分。然而,你甚至会比以前更有效率,因为你可以自动完成100%的新的PHP代码和包还提供了命令来生成所需的一些代码。
自动升级从EasyAdmin 2 EasyAdmin 3
为了简化迁移,EasyAdmin包括一个命令EasyAdmin 2 YAML配置迁移到PHP文件中需要EasyAdmin 3。在一些复杂的项目这个命令无法做所有需要的工作,但它会帮你做的大部分工作。
步骤1。在现有的Symfony应用程序,运ob娱乐下载行这个命令:
1 2
美元cd你的项目/美元php bin /控制台:admin:迁移
这个命令将备份EasyAdmin 2 YAML配置在一个文件中,这样你就可以从EasyAdmin 3后访问它。
步骤2。更新你的composer.json
依赖关系升级到EasyAdmin 3:
1 2
——“easycorp / easyadmin-bundle”:“^ 2.0”,+“easycorp / easyadmin-bundle”:“^ 3.0”,
现在,运行这个命令来更新的依赖关系:
1
美元作曲家更新
步骤3。根据您的项目配置,您可能需要修理一些小的路由和升级后的配置问题。ob娱乐下载Symfony的错误消息会引导你。
步骤4。从EasyAdmin 3应用程序再次运行这个命令:
1
美元php bin /控制台:admin:迁移
选择包含EasyAdmin 2 YAML的配置配置和命令将生成的所有需要PHP文件复制配置。在大多数应用程序中此命令生成所需的所有代码,但在复杂的应用程序,您可能需要调整,修正或添加一些额外的变化。
变化打破向后兼容性
的:管理:迁移
命令尽量生成PHP文件,相当于以前的YAML配置。然而,也有一些其他的变化,您可能需要手动在您的应用程序:
- 事件名称已经改变了的基于对象的事件,推荐从Symfony 4.3。ob娱乐下载例如,
EasyAdminEvents: PRE_PERSIST
现在是BeforeCreatingEntity::类
。读事件的文章获取详细信息。 - 大多数默认模板路径改变了:
/ * .html.twig @EasyAdmin /违约
模板被分成三个不同的目录:/ * .html.twig @EasyAdmin /页面
,/ * .html.twig @EasyAdmin /标签
和/ * .html.twig @EasyAdmin /字段
。 - 一些HTML元素和他们的CSS类和id已经改变了。这只会影响你,如果你已经创建了一些自定义CSS / JS代码的后端。
-
删除功能
EasyAdmin 3删除一些以前版本的功能不再被认为是有用的:
的
design.brand_color
配置选项已被删除,因为你不能自定义后端设计通过改变这个值。如果你还想做,在仪表板类中使用下面的代码:1 2 3 4 5 6 7 8 9 10 11
类DashboardController扩展AbstractDashboardController{/ /……公共函数configureAssets():资产{返回资产::新()/ /……- >addHtmlContentToHead (“<时尚>:根{——色原:# 123456;}< /风格> ');}}
- 的
默认值:真正的
选项设置默认后台页面已被删除。使用指示板指数作为默认页面或重定向到所需的页面在仪表板控制器动作。 - 全局选项
easy_admin.list.title
,easy_admin.show.title
等已被移除的setPageTitle ()
方法Crud
类。 - 全球
帮助
选择实体被移除的setHelp ()
方法Crud
类。 - 全球
easy_admin.list.max_results
选项已被删除的setPaginatorPageSize ()
方法Crud
类。 - 的
dql_filter
选择快速过滤实体清单已被删除。相反,使用createIndexQueryBuilder ()
方法CRUD控制器。 - 的
PRE_INITIALIZE
和POST_INITIALIZE
事件已被移除。如果你想修改的配置的AdminContext变量,使用Symfony的侦听器ob娱乐下载/订阅者EasyAdmin后并运行它。你也可以装饰AdminContextProvider
服务。 - 的
PRE_DELETE
,POST_DELETE
,PRE_EDIT
,POST_EDIT
,PRE_LIST
,POST_LIST
,PRE_NEW
,POST_NEW
,PRE_SEARCH
,POST_SEARCH
,PRE_SHOW
,POST_SHOW
事件已被移除。而不是使用BeforeCrudActionEvent
和AfterCrudActionEvent
事件。 -