PHP code example of ktourvas / rolesandperms
1. Go to this page and download the library: Download ktourvas/rolesandperms 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/ */
ktourvas / rolesandperms example snippets
use ktourvas\rolesandperms\Entities\HasPermissions;
class User extends Authenticatable
{
use HasRoles, HasPersmissions, Notifiable;
$user->roles()->sync([
Role::where('name', 'admin')->first()->id
]);
$user->userIs('admin');
// boolean
use App\User;
use some\model\path\SomeModel;
class SomeModelPolicy
{
public function viewAny(User $user) {
return $user->canViewAny(SomeModel::class);
}
public function view(User $user, SomeModel $someModel) {
return $user->canView( $someModel );
}
public function create(User $user) {
return $user->canDelete( SomeModel::class );
}
public function update(User $user, SomeModel $someModel) {
return $user->canUpdate( $someModel );
}
public function delete(User $user, SomeModel $someModel) {
return $user->canDelete( $someModel );
}
public function restore(User $user, SomeModel $someModel) {
return $user->canRestore( $someModel );
}
public function forceDelete(User $user, SomeModel $someModel) {
return $user->canForceDelete( $someModel );
}
}
$user->permissions()->create([
'policy' => SomeModel::class,
'viewany' => 1,
'create' => 1,
'update' => 1,
'delete' => 1,
'restore' => 1,
'forcedelete' => 1,
]);
$user->permissions()->where('policy', SomeModel::class)->update([
'viewany' => 0,
'create' => 1,
'update' => 1,
'delete' => 0,
'restore' => 1,
'forcedelete' => 0,
]);
$user->permissions()->where('policy', SomeModel::class)->delete();
$policy = $user->permissions()->create([
'policy' => SomeModel::class,
'viewany' => 0,
'create' => 0,
'update' => 0,
'delete' => 0,
'restore' => 0,
'forcedelete' => 0,
]);
$policy->records()->create([
'record_id'=>1,
'view'=>1,
]);
bash
$ php artisan migrate