1. Go to this page and download the library: Download unstoppablecarl/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/ */
unstoppablecarl / arbiter example snippets
interface UserWithPrimaryRole {
/*
* Get the Primary Role of this user.
* @return string
*/
public function getPrimaryRoleName();
}
namespace App;
use UnstoppableCarl\Arbiter\Contracts\UserWithPrimaryRole;
class User implements UserWithPrimaryRole
{
public function getPrimaryRoleName()
{
// @TODO implement Primary Role strategy
// simple example
// not recommended
return $this->primary_role ?: 'default_primary_role';
}
}
namespace App\Policies;
use UnstoppableCarl\Arbiter\Policies\UserPolicy as ArbiterUserPolicy;
class UserPolicy extends ArbiterUserPolicy
{
}
namespace App\Policies;
use UnstoppableCarl\Arbiter\Contracts\UserWithPrimaryRole;
use UnstoppableCarl\Arbiter\Policies\UserPolicy as ArbiterUserPolicy;
class UserPolicy extends ArbiterUserPolicy
{
/**
* Can ban users with $target Primary Role
* @param UserWithPrimaryRole $source
* @param UserWithPrimaryRole|null $target
* @return
*/
public function ban(UserWithPrimaryRole $source, $target = null)
{
$source = $this->toPrimaryRole($source);
$target = $this->toPrimaryRole($target);
$ability = 'ban';
return $this->userAuthority()->canOrAny($source, $ability, $target);
}
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.