happyr / user-project-bundle
如果您有多个用户将共享对一个或多个对象的操作权限。
0.3.1
2016-06-15 10:08 UTC
Requires
- php: >=5.3.2
- symfony/security: ~2.3
Requires (Dev)
- mockery/mockery: ~0.9.4
This package is auto-updated.
Last update: 2024-08-25 05:47:52 UTC
README
如果您有多个用户将共享对一个或多个对象的操作权限。
安装
步骤 1:使用 Composer
使用 Composer 安装它!
// composer.json { // ... require: { // ... "happyr/user-project-bundle": "dev-master", } }
然后,您可以从存放 composer.json
文件的目录运行 Composer 的 update
命令来安装新的依赖项
$ php composer.phar update
步骤 2:注册包
将包注册到您的内核中
<?php // in AppKernel::registerBundles() $bundles = array( // ... new Happyr\UserProjectBundle\HappyrUserProjectBundle(), // ... );
步骤 3:初始化 ACL
如果您之前还没有做过,现在是时候初始化 ACL 了。如果您想了解关于 访问控制列表 的内容,或者您可以运行以下命令
php app/console init:acl
步骤 4:配置包
# app/config/config.yml #happyr_user_project: #no config at this point
要求
您的 User 对象必须实现 Happyr\UserProjectBundle\Model\ProjectMemberInterface。在项目中的其他对象也必须实现 Happyr\UserProjectBundle\Model\ProjectObjectInterface。
https://symfony.ac.cn/doc/current/cookbook/doctrine/resolve_target_entity.html
use Happyr\UserProjectBundle\Model\ProjectObjectInterface; use Happyr\UserProjectBundle\Entity\Project; class MyObject implements ProjectObjectInterface { /** * @var \Happyr\UserProjectBundle\Entity\Project project * * @ORM\ManyToOne(targetEntity="Happyr\UserProjectBundle\Entity\Project", inversedBy="objects", cascade={"persist"}) * */ protected $project; public function getId() { return $this->id } public function getProject() { $this->project; } /** * * @param Project $project * */ public function setProject(Project $project) { $this->project=$project; } }
路由
# app/config/routing.yml happyr_user_project: resource: "@HappyrUserProjectBundle/Resources/config/routing.yml" prefix: /