PHP code example of yasser / laravel-roles

1. Go to this page and download the library: Download yasser/laravel-roles 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/ */

    

yasser / laravel-roles example snippets


'providers' => [
		...
		/*
         * Package Service Providers...
         */

        Yasser\Roles\RolesServiceProvider::class,
		
		/*
         * Application Service Providers...
         */
        ...
],



use Yasser\Roles\Traits\HasRolesRelations;

class User extends Authenticatable
{
    use Notifiable, HasRolesRelations;

}


    /**
     * The application's route middleware.
     *
     * These middleware may be assigned to groups or used individually.
     *
     * @var array
     */
    protected $routeMiddleware = [
    	...
		'verify' => \Yasser\Roles\Middlewares\VerifyPermission::class,
        'check' => \Yasser\Roles\Middlewares\VerifyRole::class,
    ],


	use Yasser\Roles\Models\Permission;

	$permission = Permission::create([
        'name' => 'Create Users',
        'slug' => 'user.create',
        'description' => '', //optional
        'model' => '' //optional
    ]);

	use Yasser\Roles\Models\Role;

	$adminRole = Role::create([
        'name' => 'Admin',
        'slug' => 'admin',
        'description' => ''//optional
    ]);

	$createPermission = Permission::create([
        'name' => 'Create Users',
        'slug' => 'user.create',
        'description' => '', //optional
        'model' => '' //optional
    ]);

    $role = Role::create([
        'name' => 'Admin',
        'slug' => 'admin',
    ]);

    $role->attachPermission($createPermission);

	$createPermission = Permission::create([
        'name' => 'Create Users',
        'slug' => 'user.create'
    ]);

	$deletePermission = Permission::create([
        'name' => 'Delete user',
        'slug' => 'user.delete'
    ]);

    $role = Role::create([
        'name' => 'Admin',
        'slug' => 'admin',
    ]);

    $role->attachPermissions([$createPermission, $deletePermission]);

	$role->detachPermission($createRole);

	$role->detachPermissions([$createPermission, $deletePermission])

	$role = Role::create([
        'name' => 'Admin',
        'slug' => 'admin',
    ]);

    $user->attachRole($role)

	$adminRole = Role::create([
        'name' => 'Admin',
        'slug' => 'admin',
    ]);

    $operatorRole = Role::create([
        'name' => 'Operator',
        'slug' => 'operator',
    ]);

    $user->attachRoles([$adminRole, $operatorRole]);

	$user->detachRole($role)

	$user->detachRoles([$adminRole, $operatorRole])

    $adminRole = Role::create([
        'name' => 'Admin',
        'slug' => 'admin',
    ]);

    $user->checkRole('admin'); //return true or false

    $createPermission = Permission::create([
        'name' => 'Create Users',
        'slug' => 'user.create'
    ]);
    
    $user->canDo('user.create');

    $role = Role::create([
        'name' => 'Admin',
        'slug' => 'admin',
    ]);
    
    Route::get('user/create', ...)->middleware('ckeck:admin');

    $createPermission = Permission::create([
        'name' => 'Create Users',
        'slug' => 'user.create'
    ]);
    
    Route::get('/user/create', ... )->middleware('verify:user.create');