rockbuzz/lara-memberships

账户成员管理

0.1.0 2021-05-22 15:25 UTC

This package is auto-updated.

Last update: 2024-09-22 22:36:40 UTC


README

账户成员管理

要求

PHP >=7.2

安装

$ composer require rockbuzz/lara-memberships
$ php artisan vendor:publish --provider="Rockbuzz\LaraMemberships\ServiceProvider"
$ php artisan migrate

config/memberships.php

...
'rbac' => [
    /* 'admin' => [
        '*'
    ],
    'editor' => [
        '*.create',
        '*.update',
        'posts.delete'
    ] */
]

HasMemberships属性添加到用户模型中

使用

use Rockbuzz\LaraMemberships\Account;

class User
{
    use HasMemberships
}
$user->ownedAccounts(): HasMany;
$user->accounts(): BelongsToMany;
$user->allAccounts(): Collection;
$user->accountRole(Account $account): Role;
$user->hasAccountRole(Account $account, string $role): bool;
$user->accountPermissions($account): string[];
$user->hasAccountPermission(Account $account, string $permission): bool;
$user->ownsAccount(Account $account): bool;
$account->owner(): User;
$account->members(): BelongsToMany;
$account->findMemberById(int $id): User;
$account->addMember(User $user, Role $role = null): self;

开发环境

要求

使用

docker-compose up -d --build
docker-compose exec app composer ...

代码风格

composer cs

测试

composer test

许可证

Lara Memberships 是一个开源软件,根据MIT许可证授权。