Permisiion manager


https://laravel.com/docs/5.0/commands

# 
php artisan make:command SendEmails


# add  class 
class Kernel extends ConsoleKernel
{
    /**
     * The Artisan commands provided by your application.
     *
     * @var array
     */
    protected $commands = [
         Commands\Inspire::class,
         Commands\SendEmails::class,
    ];
cat <<EOT>> routes/console.php
<?php
// Обновление привилегий
Artisan::command('update:privileges', function () {
    Privileges::update($countAdded, $countUpdated, $countDeleted);

    $this->info('Privileges added: ' . $countAdded);
    $this->info('Privileges updated: ' . $countUpdated);
    $this->info('Privileges deleted: ' . $countDeleted);
    $this->info('Privileges total: ' . count(Privileges::$list));
})->describe('Update privileges list.');
EOT

 

$user->assignRole('writer');
$user->removeRole('writer');
$user->syncRoles(params);
$role->givePermissionTo('edit articles');
$role->revokePermissionTo('edit articles');
$role->syncPermissions(params);
$permission->assignRole('writer');
$permission->removeRole('writer');
$permission->syncRoles(params);