PHP code example of mabrouk / permission
1. Go to this page and download the library: Download mabrouk/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/ */
mabrouk / permission example snippets artisan permission:seed
protected $routeMiddleware = [
// ...
'permission-officer' => \Mabrouk\Permission\Http\Middleware\PermissionOfficerMiddleware::class,
];
protected $middlewareGroups = [
'api' => [
// ...
'permission-officer',
],
];
Route::apiResource('permission-groups', PermissionGroupController::class);
Route::apiResource('permissions', PermissionController::class, ['except', ['store', 'destroy']]);
Route::apiResource('roles', RoleController::class);
artisan route:clear
namespace Mabrouk\Permission\Http\Resources;
use Illuminate\Http\Resources\Json\JsonResource;
class PermissionGroupResource extends JsonResource
{
/**
* Transform the resource into an array.
*
* @param \Illuminate\Http\Request $request
* @return array
*/
public function toArray($request)
{
return [
'id' => $this->id,
'name' => $this->name,
'permissions' => PermissionResource::collection($this->permissions),
];
}
}
namespace Mabrouk\Permission\Http\Resources;
use Illuminate\Http\Resources\Json\JsonResource;
class PermissionGroupSimpleResource extends JsonResource
{
/**
* Transform the resource into an array.
*
* @param \Illuminate\Http\Request $request
* @return array
*/
public function toArray($request)
{
return [
'id' => $this->id,
'name' => $this->name,
];
}
}
namespace Mabrouk\Permission\Http\Resources;
use Illuminate\Http\Resources\Json\JsonResource;
class PermissionResource extends JsonResource
{
/**
* Transform the resource into an array.
*
* @param \Illuminate\Http\Request $request
* @return array
*/
public function toArray($request)
{
return [
'id' => $this->id,
'name' => $this->display_name,
'selected' => $this->isSelected,
'group' => new PermissionGroupSimpleResource($this->group),
'sub_permissions' => SubPermissionResource::collection($this->subPermissions),
];
}
}
namespace Mabrouk\Permission\Http\Resources;
use Illuminate\Http\Resources\Json\JsonResource;
class SubPermissionResource extends JsonResource
{
/**
* Transform the resource into an array.
*
* @param \Illuminate\Http\Request $request
* @return array
*/
public function toArray($request)
{
return [
'id' => $this->id,
'name' => $this->display_name,
'selected' => $this->isSelected,
];
}
}
namespace Mabrouk\Permission\Http\Resources;
use Mabrouk\Permission\Models\PermissionGroup;
use Illuminate\Http\Resources\Json\JsonResource;
class RoleResource extends JsonResource
{
/**
* Transform the resource into an array.
*
* @param \Illuminate\Http\Request $request
* @return array
*/
public function toArray($request)
{
return [
'id' => $this->id,
'name' => $this->name,
'permission_groups' => PermissionGroupResource::collection(PermissionGroup::all()),
];
}
}
namespace Mabrouk\Permission\Http\Resources;
use Illuminate\Http\Resources\Json\JsonResource;
class RoleSimpleResource extends JsonResource
{
/**
* Transform the resource into an array.
*
* @param \Illuminate\Http\Request $request
* @return array
*/
public function toArray($request)
{
return [
'id' => $this->id,
'name' => $this->name,
'description' => $this->description,
];
}
}
permissions.php
app/Http/Kernel.php
permissions.php
bash
php artisan permission:setup
bash
php artisan migrate
config/permissions.php
permissions.php
bash
php artisan config:cache
Mabrouk\Permission\Traits\HasPermission.php
permission.php
Mabrouk\Permission\Traits\HasPermission.php
permissions.php
permissions.php
permissions.php
Mabrouk\Permission\Traits\HasPermission.php
bash
php artisan route:list
permissions.php
bash
php artisan permission:seed