germania-kg / user-roles
1.2.1
2022-03-30 10:11 UTC
Requires
- php: ^5.6|^7.0
- psr/container: ^1.0
- psr/log: ^1.0
Requires (Dev)
- php-coveralls/php-coveralls: ^2.0
- phpunit/phpunit: ^5.7|^6.0
- pimple/pimple: ^3.2
Suggests
- pimple/pimple: This package provides a Pimple ServiceProvider
README
此包是从旧代码中提取的。您肯定不会想将其用于您的生产代码。
安装
使用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