gl3n / serialization-group-bundle
本包的最新版本(1.0.1)没有提供许可信息。
通过配置组织序列化组的方式
1.0.1
2016-03-08 09:36 UTC
Requires
- php: >=5.4
- symfony/framework-bundle: ~2.6|~3.0
Requires (Dev)
- atoum/atoum: @stable
- phpspec/prophecy: ~1.0
This package is not auto-updated.
Last update: 2024-09-23 14:21:40 UTC
README
SerializationGroupBundle 通过配置提供了一种 组织序列化组 的方法。
与 Symfony Serializer 组件或 JMS Serializer 一起使用很有用。
1. 安装
通过 composer 安装该包,然后将其添加到您的 AppKernel.php
文件中
$bundles = array( // ... new Gl3n\SerializationGroupBundle\Gl3nSerializationGroupBundle(), );
2. 配置
以下是一个示例配置
gl3n_serialization_group: groups: group2: roles: [ROLE_USER] group3: roles: [ROLE_ADMIN] include: [group2] group4: roles: [ROLE_SUPER_ADMIN] include: [group1, group3]
您可以在每个组中填写内容
roles
(可选):允许使用此组的安全角色的数组include
(可选):包含的组的数组
3. 使用
调用 序列化组解析器(gl3n_serialization_group.resolver
)以获取构建的组列表。
例如,使用前面的示例配置
// Resolving group1 returns ['group1'] $groups = $resolver->resolve('group1'); // Resolving group3 returns ['group2', 'group3'] $groups = $resolver->resolve('group3'); // Resolving group4 returns ['group1', 'group2', 'group3', 'group4'] $groups = $resolver->resolve('group4');
3.1. 授权检查器
在解析过程中检查安全角色。如果用户没有所需的角色,则会抛出 Symfony\Component\Security\Core\Exception\AccessDeniedException
。
3.2. 示例
您可以通过 大小(小、中、大)来组织实体序列化组,并一次序列化多个实体,如下所示
# config.yml gl3n_serialization_group: groups: book_M: roles: [ROLE_USER] include: [book_S, author_S] book_L: roles: [ROLE_ADMIN] include: [book_M, author_M] author_M: include: [author_S]
在这个例子中,一本 书 有一个或多个 作者。