EasyAdminExtensionBundle 使用教程
项目介绍
EasyAdminExtensionBundle 是一个为 Symfony 框架中的 EasyAdminBundle 提供额外功能的扩展包。它允许开发者通过配置来添加列表过滤器、嵌入列表视图、实现自动完成选项、角色基础访问权限等功能。这个扩展包增强了 EasyAdminBundle 的功能,使其更加适合复杂的应用场景。
项目快速启动
安装
首先,你需要通过 Composer 安装 EasyAdminExtensionBundle:
composer require alterphp/easyadmin-extension-bundle
启用 Bundle
在你的 Symfony 项目中启用这个 Bundle。编辑 app/AppKernel.php
文件,添加以下代码:
public function registerBundles()
{
$bundles = [
// 其他 bundles
new AlterPHP\EasyAdminExtensionBundle\EasyAdminExtensionBundle(),
];
return $bundles;
}
配置路由
替换 EasyAdminBundle 的控制器为 EasyAdminExtensionBundle 的控制器。编辑 config/routes/easy_admin.yaml
文件:
easy_admin_bundle:
resource: '@EasyAdminExtensionBundle/Controller/EasyAdminController.php'
type: annotation
prefix: /admin
应用案例和最佳实践
列表过滤器
EasyAdminExtensionBundle 允许你在列表视图中添加过滤器。例如,你可以为 Animation
实体添加一个过滤器:
class Animation
{
use ValueListTrait;
/**
* @var string
* @ORM\Id
* @ORM\Column(type="guid")
*/
private $id;
/**
* @var bool
* @ORM\Column(type="boolean")
*/
private $active;
}
在 EasyAdmin 配置中添加过滤器:
easy_admin:
entities:
Animation:
list:
filters:
- property: 'active'
type: 'boolean'
角色基础访问权限
你可以配置基于角色的访问权限:
easy_admin:
entities:
Animation:
roles:
- ROLE_ADMIN
典型生态项目
EasyAdminExtensionBundle 可以与以下项目结合使用,以增强功能:
- FOSUserBundle: 用于用户管理和认证。
- VichUploaderBundle: 用于文件上传管理。
- KnpPaginatorBundle: 用于分页管理。
通过这些组合,你可以构建一个功能丰富且易于管理的 Symfony 应用。
以上是 EasyAdminExtensionBundle 的基本使用教程,希望对你有所帮助。