2017 © Pedro Peláez
 

library permissions

image

germania-kg/permissions

  • Monday, July 9, 2018
  • by germania-kg
  • Repository
  • 2 Watchers
  • 0 Stars
  • 44 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 12 Versions
  • 19 % Grown

The README.md

Germania KG · Permissions

Packagist PHP version Build Status Scrutinizer Code Quality Code Coverage Build Status, (*1)

Installation

$ composer require germania-kg/permissions

MySQL users may install the tables permissions and permissions_roles using install.sql.txt in sql/ directory., (*2)

Usage

<?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
        (
        )

)

Development

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

Setup MySQL tables permissions and permissions_roles as in sql/install.sql.txt., (*3)

Unit tests

Either copy phpunit.xml.dist to phpunit.xml and adapt to your needs, or leave as is. Run PhpUnit test or composer scripts like this:, (*4)

$ composer test
# or
$ vendor/bin/phpunit

In phpunit.xml, edit the database credentials:, (*5)

<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>

Go to project root and issue phpunit., (*6)

The Versions

09/07 2018
09/07 2018
12/04 2018
11/04 2018
11/04 2018
21/12 2016
21/12 2016
21/12 2016