Download the PHP package yiisoft/rbac-db without Composer

On this page you can find all versions of the php package yiisoft/rbac-db. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package rbac-db

Yii RBAC Database


The package provides Yii Database storage for Yii RBAC.

Latest Stable Version Total Downloads Build status codecov Mutation testing badge static analysis type-coverage

Detailed build statuses:

RDBMS Status
SQLite SQLite status
MySQL MYSQL status
PostgreSQL MYSQL status
Microsoft SQL Server MYSQL status
Oracle MYSQL status

Requirements

Installation

The package could be installed with composer:

General usage

Configuring database connection

Configuration depends on a selected driver. Here is an example for PostgreSQL:

More comprehensive examples can be found at Yii Database docs.

Working with migrations

This package uses Yii DB Migration for managing database tables required for storages. There are three tables in total (yii_rbac_ prefix is used).

Items storage:

Assignments storage:

Configuring migrations

Make sure to include these directories as source paths:

When using Yii Console, add this to config/params.php:

and database connection configuration from previous section to DI container (config/common/db.php):

Because item and assignment storages are completely independent, migrations are separated as well to prevent the creation of unused tables. So, for example, if you only want to use assignment storage, add only migrations/assignments to source paths.

Other ways of using migrations are covered here.

Applying migrations

Using with Yii Console:

Other ways of using migrations are covered here.

Reverting migrations

Using with Yii Console:

Other ways of using migrations are covered here.

Using storages

The storages are not intended to be used directly. Instead, use them with Manager from Yii RBAC package:

Note wrapping manager with decorator—it additionally provides database transactions to guarantee data integrity.

Note that it's not necessary to use both DB storages. Combining different implementations is possible. A quite popular case is to manage items via PHP files while storing assignments in a database.

More examples can be found in Yii RBAC documentation.

Syncing storages manually

The storages stay synced thanks to manager, but there can be situations where you need to sync them manually. One of them is using combination with PHP file based storage and editing it manually.

Let's say PHP file is used for items, while database - for assignments, and some items were deleted:

Then related entries in other storage needs to be deleted as well. This can be done within a migration:

Testing

Unit testing

The package is tested with PHPUnit. To run tests:

Mutation testing

The package tests are checked with Infection mutation framework. To run it:

Static analysis

The code is statically analyzed with Psalm. To run static analysis:


All versions of rbac-db with dependencies

PHP Build Version
Package Version
Requires ext-pdo Version *
php Version ^8.1
yiisoft/db Version ^1.2
yiisoft/db-migration Version ^1.1
yiisoft/friendly-exception Version ^1.1
yiisoft/rbac Version ^2.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package yiisoft/rbac-db contains the following files

Loading the files please wait ....