1. Go to this page and download the library: Download morphcms/acl-module 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/ */
morphcms / acl-module example snippets
namespace Modules\Blog\Enums;
use Modules\Acl\Contracts\EnumsPermissions;
enum PostPermission: string
{
case All = 'posts.*'; // wildcard permissions enabled by default
case ViewAdmin = 'posts.viewAdmin';
case ViewAny = 'posts.viewAny';
case View = 'posts.view';
case Create = 'posts.create';
case Update = 'posts.update';
case Delete = 'posts.delete';
case Replicate = 'posts.replicate';
case Restore = 'posts.restore';
}
$user->can(PostPermission::ViewAny->value);
// or obviously you can use it directly
$user->can('posts.viewAny');
namespace Modules\Blog\Database\Seeders;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Seeder;
use Modules\Acl\Utils\AclSeederHelper;
use Modules\Blog\Enums\PostPermission;
class RolesAndPermissionsSeeder extends Seeder
{
use AclSeederHelper;
/**
* Run the database seeds.
*
* @return void
*/
public function run(): void
{
Model::unguard();
$this->acl(module: 'blog')
->attachEnum(permissions: PostPermission::class, onlyPermissions: PostPermission::All->value)
->create(moduleRoles: 'blogger');
// OR You can set permissions directly.
$this->acl(module: 'blog')
->attach(permissions: [
'posts.*',
'posts.viewAdmin',
'posts.viewAny',
'posts.view',
'posts.create',
'posts.update',
'posts.delete',
], onlyPermissions: 'posts.*')
->create(moduleRoles: 'blogger');
}
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.