germania-kg/permissions

2.1.5 2022-03-30 10:14 UTC

This package is auto-updated.

Last update: 2024-08-29 04:25:31 UTC


README

Packagist PHP version Build Status Scrutinizer Code Quality Code Coverage Build Status

安装

$ composer require germania-kg/permissions

MySQL 用户 可以使用 sql/ 目录中的 install.sql.txt 安装 permissionspermissions_roles 表。

用法

<?php
use Germania\Permissions\PermissionsAcl;

// Have your PDO and optional a PSR-3 Logger at hand
$pdo    = new PDO;
$logger = new Monolog;

// Pass PDO and table names,
// optionally with PSR-3 Logger
$perms = new PermissionsAcl( $pdo, "permissions", "permissions_roles" );
$perms = new PermissionsAcl( $pdo, "permissions", "permissions_roles", $logger );

// Use Callable
$acl = $perms();
print_r( $acl );

// Keys are permissions;
// Element arrays are roles
(
    [bar] => Array
        (
            [0] => 1
        )

    [foo] => Array
        (
            [0] => 1
            [1] => 2
        )

    [quc] => Array
        (
        )

)

开发

$ git clone https://github.com/GermaniaKG/Permissions.git
$ cd Permissions
$ composer install

按照 sql/install.sql.txt 设置 MySQL 表 permissionspermissions_roles

单元测试

可以复制 phpunit.xml.distphpunit.xml 并根据需要调整,或者保持原样。运行 PhpUnit 测试或 composer 脚本,如下所示

$ composer test
# or
$ vendor/bin/phpunit

phpunit.xml 中,编辑数据库凭证

<php>
	<var name="DB_DSN"    value="mysql:host=localhost;dbname=test;charset=utf8" />
	<var name="DB_USER"   value="root" />
	<var name="DB_PASSWD" value="" />
	<var name="DB_DBNAME" value="test" />
	<var name="DB_SETUP"  value="sql/install.sql.txt" />
</php>

转到项目根目录并运行 phpunit