PHP code example of giatechindo / hypervel-permission

1. Go to this page and download the library: Download giatechindo/hypervel-permission 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/ */

    

giatechindo / hypervel-permission example snippets


hypervel-permission/
├── composer.json
├── config/
│   └── permission.php
├── database/
│   └── migrations/
│       ├── 2025_05_12_000000_create_permission_tables.php
│       └── 2025_05_12_000001_add_uuid_support.php
├── src/
│   ├── Contracts/
│   │   ├── Permission.php
│   │   └── Role.php
│   ├── Exceptions/
│   │   ├── PermissionAlreadyExists.php
│   │   ├── PermissionDoesNotExist.php
│   │   ├── RoleAlreadyExists.php
│   │   └── RoleDoesNotExist.php
│   ├── Models/
│   │   ├── Permission.php
│   │   └── Role.php
│   ├── PermissionRegistrar.php
│   ├── PermissionServiceProvider.php
│   └── Traits/
│       ├── HasPermissions.php
│       └── HasRoles.php
├── tests/
│   ├── bootstrap.php
│   ├── PermissionTest.php
│   └── RoleTest.php
├── LICENSE
├── README.md
└── phpunit.xml.dist

return [
    'use_uuid' => env('PERMISSION_USE_UUID', false),
    'models' => [
        'permission' => Giatechindo\HypervelPermission\Models\Permission::class,
        'role' => Giatechindo\HypervelPermission\Models\Role::class,
    ],
    'table_names' => [
        'permissions' => 'permissions',
        'roles' => 'roles',
        'model_has_permissions' => 'model_has_permissions',
        'model_has_roles' => 'model_has_roles',
        'role_has_permissions' => 'role_has_permissions',
    ],
];

use Giatechindo\HypervelPermission\Traits\HasRoles;
use Giatechindo\HypervelPermission\Traits\HasPermissions;

class User extends Model
{
    use HasRoles, HasPermissions;
}

use Giatechindo\HypervelPermission\Models\Role;
use Giatechindo\HypervelPermission\Models\Permission;

// Create a role
$adminRole = Role::create(['name' => 'admin']);

// Create a permission
$editPostPermission = Permission::create(['name' => 'edit-post']);

$user = User::find(1);

// Assign a role
$user->assignRole('admin');

// Assign a permission
$user->givePermissionTo('edit-post');

// Check if user has a role
if ($user->hasRole('admin')) {
    echo "User is an admin!";
}

// Check if user has a permission
if ($user->hasPermissionTo('edit-post')) {
    echo "User can edit posts!";
}

Route::group(['middleware' => ['role:admin']], function () {
    Route::get('/admin', [AdminController::class, 'index']);
});

Route::group(['middleware' => ['permission:edit-post']], function () {
    Route::get('/edit-post', [PostController::class, 'edit']);
});

use Giatechindo\HypervelPermission\Models\Permission;

$team = Team::find(1);
$team->givePermissionTo('manage-team');
bash
cp vendor/giatechindo/hypervel-permission/config/permission.php config/permission.php
bash
cp vendor/giatechindo/hypervel-permission/database/migrations/*.php database/migrations/
bash
php artisan migrate
bash
php artisan migrate:fresh