germania-kg/user-roles

1.2.1 2022-03-30 10:11 UTC

This package is auto-updated.

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


README

此包是从旧代码中提取的。您肯定不会想将其用于您的生产代码。

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

安装

使用sql/users_roles.sql.txt中的表创建列表设置MySQL数据库。使用Composer进行PHP

$ composer require germania-kg/user-roles

将用户ID分配给单个角色ID

<?php
use Germania\UserRoles\PdoAssignUserToRole;

$pdo    = new PDO( ... );
$logger = new Monolog();
// Default, thus optional
$table  = 'users_roles_mm';

$assigner = new PdoAssignUserToRole( $pdo, $logger, $table);

$user_id = 42;
$assigner( $user_id, 1);   // e.g. Admins
$assigner( $user_id, 2);   // e.g. Co-workers
$assigner( $user_id, 10);  // e.g. Sales people

检索用户的角色ID

检索包含给定用户角色ID的数组。

<?php
use Germania\UserRoles\PdoUserRoles;

$pdo     = new PDO( ... );
// Default, thus optional
$table   = 'users_roles_mm';

$roles_finder = new PdoUserRoles( $pdo, $table);

$user_id = 42;
$roles_array = $roles_finder( $user_id );

问题

  • user_id列名在SQL中仍然是client_id。这是旧版本,未来主要版本中可能发生变化。在问题#1中讨论。

另请参阅完整问题列表。

开发

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

单元测试

可以将phpunit.xml.dist复制到phpunit.xml并适应您的需求,或者保持不变。运行PhpUnit测试或Composer脚本如下

$ composer test
# or
$ vendor/bin/phpunit