1. Go to this page and download the library: Download programmingarehard/arbiter library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
programmingarehard / arbiter example snippets
// get the arbiter
$arbiter = $this->get('object.arbiter');
// get a user
$user = $this->get('security.context')->getToken()->getUser();
// get an entity
$document = $this->get('document.repository')->find(1);
// focus the arbiter on an entity
$arbiter->setObject($document);
// get the current permissions the user has for the $document
$permissions = $arbiter->getPermissions($user);
// add permissions
$permissions
->add('VIEW')
->add('EDIT');
// update permissions for user
$arbiter->updatePermissions($user, $permissions);
// remove permissions
$permissions->remove('EDIT');
// update permissions for user
$arbiter->updatePermissions($user, $permissions);
// get a permissions object
$permissions = $arbiter->newPermissions(array('EDIT'));
// focus the arbiter on the entity
$arbiter->setObject($project);
// check permissions
$canEdit = $arbiter->isGranted($user, $permissions); // bool
// get a permissions object
$permissions = $arbiter->newPermissions(array('EDIT', 'OPERATOR'));
// focus the arbiter on the entity
$arbiter->setObject($document);
// check permissions
$granted = $arbiter->isGranted($user, $permissions); // bool
// get a permissions object
$permissions = $arbiter->newPermissions(array('OPERATOR'));
// focus the arbiter on the entity
$arbiter->setObject($project);
// grant permissions
$arbiter->updatePermissions($user, $permissions);
// time passes and you need to adjust the user's permissions.
// get the permissions the $user currently has for the $project
$permissions = $arbiter->getPermissions($user);
// remove the DELETE permission
$permissions->remove('DELETE');
// update permissions
$arbiter->updatePermissions($user, $permissions);
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.