PHP code example of hedeqiang / laravel-permission

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

    

hedeqiang / laravel-permission example snippets




return [
    'models' => [
        // ...
        'role' => Hedeqiang\Permission\Models\Role::class,
        'menu' => Hedeqiang\Permission\Models\Menu::class,
    ],

    'table_names' => [
        // ...
        'menus' => 'menus',
        'role_has_menus' => 'role_has_menus',
        'menu_table' => 'menu_table',
    ],

    // guard 名称
    'role_guard_name' => 'admin',

];

use Illuminate\Foundation\Auth\User as Authenticatable;
use Hedeqiang\Permission\Traits\HasRoles;

class User extends Authenticatable
{
    // 注意这里是 \Hedeqiang\Permission\Traits\HasRoles
    use HasRoles;

    // ...
}

use Hedeqiang\Permission\Models\Role;
use Hedeqiang\Permission\Models\Menu;

$role = Role::create(['name' => '管理员']);
$menu = Menu::create([
    'name' => '文章列表',
    'url' => '/posts',
    'type' => Menu::TYPE_MENU,
    'icon' => 'iconName',
]);

$role->giveMenuTo($menu);
$menu->assignRole($role);

$role->syncMenus($menus);
$menu->syncRoles($roles);

$user = \Auth::user();

$parentId = null; // 父菜单ID (用在获取指定菜单下的子菜单树)
$showButton = false; // 是否显示按钮类型的菜单

$user->getMenuTree($parentId, $showButton);
shell
# 如果你安装过 spatie/laravel-permission 并创建了 permission.php 请忽略这步
php artisan vendor:publish --provider="Spatie\Permission\PermissionServiceProvider" --tag="config"
shell
# 如果你安装过 spatie/laravel-permission 并创建了 migrations 请忽略这步
php artisan vendor:publish --provider="Spatie\Permission\PermissionServiceProvider" --tag="migrations"

# 这是本包提供的生成 menus 和 role_has_menus 数据库表的 migrations
php artisan vendor:publish --provider="Hedeqiang\Permission\PermissionServiceProvider" --tag="migrations"
shell
php artisan migrate