spomky-labs / role-hierarchy-bundle
此包已被废弃,不再维护。未建议替代包。
Symfony2 角色层次结构包
v3.0.0
2016-05-13 19:24 UTC
Requires
- php: >=5.6
- doctrine/doctrine-bundle: ^1.0
- symfony/security-bundle: ^2.8|^3.0
Requires (Dev)
- behat-extension/doctrine-data-fixtures-extension: dev-master
- behat/behat: ^3.0
- behat/mink: *
- behat/mink-browserkit-driver: *
- behat/mink-extension: ^2.1
- behat/symfony2-extension: ^2.0
- doctrine/doctrine-fixtures-bundle: ^2.0
- doctrine/orm: ^2.2
- symfony/class-loader: ^2.8|^3.0
- symfony/finder: ^2.8|^3.0
- symfony/framework-bundle: ^2.8|^3.0
- symfony/validator: ^2.8|^3.0
- symfony/var-dumper: ^2.8|^3.0
- symfony/yaml: ^2.8|^3.0
This package is auto-updated.
Last update: 2022-02-01 12:32:09 UTC
README
先决条件
此版本的包需要
- Symfony 2.8 或 3.0+
- PHP 5.6+
该包已成功在 PHP 5.6
到 PHP 7.0
以及 HHVM
下,使用 Symfony 2.8
到 3.0
进行测试。
安装
安装是一个快速的四步过程
- 安装包
- 启用包
- 创建模型类
- 配置包
##步骤 1:安装包##
安装此包的首选方式是依赖 Composer
composer require spomky-labs/role-hierarchy-bundle
##步骤 2:启用包##
最后,在内核中启用包
<?php // app/AppKernel.php public function registerBundles() { $bundles = array( // ... new SpomkyLabs\RoleHierarchyBundle\SpomkyLabsRoleHierarchyBundle(), ); }
##步骤 3:创建模型类##
此包需要将角色持久化到数据库
因此,您的首要任务是创建一个适用于应用程序的角色类。这个类可以看起来和表现成任何您想要的样子:添加任何您认为有用的属性或方法。
只有一些要求
- 它们必须确保角色名称是唯一的
- 它们应遵循命名约定
在下面的章节中,您将看到您的类应该如何看起来。
您的类可以位于应用程序中的任何包内。例如,如果您在“Acme”公司工作,那么您可能创建一个名为AcmeRoleBundle的包,并将您的类放在其中。
此包能够支持 Doctrine ORM、ODM、CouchDB 或 MongoDB。请注意,只有 ORM 已经过测试。
###Doctrine ORM###
如果您通过 Doctrine ORM 持久化数据,那么您的类应位于包的 Entity 命名空间中,并从以下样子开始
<?php // src/Acme/RoleBundle/Entity/Role.php namespace Acme\RoleBundle\Entity; use SpomkyLabs\RoleHierarchyBundle\Entity\Role as Base; use Doctrine\ORM\Mapping as ORM; /** * Role * * @ORM\Table(name="roles") * @ORM\Entity() */ class Role extends Base { /** * @var integer $id * * @ORM\Column(name="id", type="integer") * @ORM\Id * @ORM\GeneratedValue(strategy="AUTO") */ protected $id; /** * @ORM\ManyToOne(targetEntity="Role") * @ORM\JoinColumn(name="parent_id", referencedColumnName="id") **/ protected $parent; public function getId() { return $this->id; } }
###Doctrine ODM###
待编写
###Couch DB###
待编写
###Mongo DB###
待编写
##步骤 4:配置您的应用程序##
# app/config/config.yml spomkylabs_role_hierarchy: role_class: "Acme\RoleBundle\Entity\Role"
如果您有自己的角色管理器,可以使用它。它只需要实现 SpomkyLabs\RoleHierarchyBundle\Model\RoleManagerInterface
。
# app/config/config.yml spomkylabs_role_hierarchy: ... role_manager: "my.custom.role.manager"