betocampoy/champs-access
最新稳定版本:v1.0.0
Composer 安装命令:
composer require betocampoy/champs-access
包简介
Lightweight access control core for PHP projects. Permission checking by user, resource and provider adapters.
README 文档
README
Lightweight permission checker for PHP projects.
Install
composer require betocampoy/champs-access
Basic Usage
use BetoCampoy\Champs\Access\AccessChecker; use BetoCampoy\Champs\Access\ArrayPermissionProvider; use BetoCampoy\Champs\Access\GenericUser; use BetoCampoy\Champs\Access\GenericResource; use BetoCampoy\Champs\Access\Permission; $provider = new ArrayPermissionProvider([ 'admin' => [ 'users' => [ Permission::ACCESS => true, Permission::CREATE => true, Permission::UPDATE => true, Permission::DELETE => true, ], ], ]); $checker = new AccessChecker($provider); $user = new GenericUser(1, 'admin'); $resource = new GenericResource('users', 'users'); $checker->can($user, $resource, Permission::UPDATE); // true
Assert Access
$checker->assertCan($user, $resource, Permission::DELETE);
Throws AccessDeniedException.
Multiple Permissions
$checker->canAny($user, $resource, [ Permission::UPDATE, Permission::DELETE, ]); $checker->canAll($user, $resource, [ Permission::ACCESS, Permission::UPDATE, ]);
Custom Provider
use BetoCampoy\Champs\Access\PermissionProviderInterface; final class DatabasePermissionProvider implements PermissionProviderInterface { public function permissionsFor($user, $resource): array { return [ 'acessar' => true, 'alterar' => true, ]; } }
Recommended Architecture
Package responsibilities:
- permission rules
- access checking
- reusable interfaces
Application responsibilities:
- redirects
- flash messages
- JSON responses
- HTTP 403
- database queries
- framework integration
统计信息
- 总下载量: 4
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 8
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: proprietary
- 更新时间: 2026-04-27