1. Go to this page and download the library: Download smallneat/trust 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/ */
...
use Smallneat\Trust\UserRoleTrait;
class User extends Eloquent implements UserInterface, RemindableInterface {
use UserTrait, RemindableTrait, UserRoleTrait;
...
}
use Smallneat\Trust\RoleTrait;
class Role extends \Eloquent {
use RoleTrait;
protected $fillable = [];
}
use Smallneat\Trust\PermissionTrait;
class Permission extends \Eloquent {
use PermissionTrait;
protected $fillable = [];
}
$createPost = Permission::create([
'name' => 'CreatePost',
'description' => 'Create new posts'
]);
$editPost = Permission::create([
'name' => 'EditPost',
'description' => 'Edit existing posts'
]);
$deletePost = Permission::create([
'name' => 'DeletePost',
'description' => 'Delete posts'
]);
$manageUsers = Permission::create([
'name' => 'ManageUsers',
'description' => 'Create and Delete user accounts'
]);
// plus loads more for all the areas of the site we want to control
// Create 2 new roles for an Admin and an Editor
$admin = Role::create(['name' => 'Admin']);
$editor = Role::create(['name' => 'Editor']);
// Attach some permissions to each of the roles
// You can either pass in a Role object, and id, or an array of Roles / id's
$admin->attachPermissions([$manageUsers, $deletePosts]);
$editor->attachPermissions([$createPosts, $editPosts, $deletePosts]);
// You can access the permissions that a role has (using Eloquent) like so...
$admin->perms()
// Remove them with detachPermissions()
// Give a user a role (using a Role model or id or an array of roles / id's)
$user = Auth::user();
$user->attachRoles($editor);
// Query the user
$user->hasRole('Editor'); // true
$user->hasRole('Admin'); // false
$user->can('CreatePost'); // true
$user->can('ManageUsers'); // false
// Access all the roles the user has
$user->roles();
// remove them with detachRoles()
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.