betocampoy/champs-access 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

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

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: proprietary
  • 更新时间: 2026-04-27

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固