NovinkaZverejnili sme 50+ Laravel balíkov ako open source
Custom AI apps, agents and automation — Roundly ConsultingRoundly
Všetky balíky

Každá chyba, ktorú balík vyhodí, rozširuje PermissionException (RuntimeException), takže celú rodinu zachytíte jediným catch:

VýnimkaKedy vznikne
PermissionDoesNotExistPri udelení, odobratí alebo synchronizácii oprávnenia, ktoré nie je zaregistrované.
RoleDoesNotExistPri priradení, odobratí alebo synchronizácii roly, ktorá nie je zaregistrovaná.
PermissionExceptionArgument nie je reťazec, backed enum ani očakávaný model, alebo inštancia modelu ešte nie je uložená; držiteľ nemá HasRoles (zápis rolí) či HasPermissions (zápis oprávnení) alebo ešte nemá kľúč; syncFrom() dostal triedu, ktorá nie je backed enum. Zároveň je to základná trieda oboch výnimiek vyššie.
use RoundlyConsulting\Permissions\Exceptions\PermissionDoesNotExist;
use RoundlyConsulting\Permissions\Exceptions\PermissionException;
use RoundlyConsulting\Permissions\Exceptions\RoleDoesNotExist;
use RoundlyConsulting\Permissions\Facades\Permissions;
use RoundlyConsulting\Permissions\Models\Permission;

try {
    Permissions::for($user)->assignRole('auditor');
} catch (RoleDoesNotExist $e) {
    // There is no role named "auditor".
}

try {
    Permissions::for($role)->givePermissionTo('reports.export');
} catch (PermissionDoesNotExist $e) {
    // There is no permission named "reports.export".
}

try {
    Permissions::for($role)->givePermissionTo(new Permission(['name' => 'draft']));
} catch (PermissionException $e) {
    // Cannot grant an unsaved permission model; persist it before granting.
}

try {
    Permissions::for($role)->assignRole('editor');
} catch (PermissionException $e) {
    // A Role holds permissions, never roles — it has no HasRoles trait.
}

Správy idú cez prekladač Laravelu, takže ich môžete preložiť vo vlastných jazykových súboroch. Kontroly — hasRole() a hasPermissionTo() — výnimku nevyhadzujú; pre neznámy názov vrátia false.

Prejavte lásku k open source

Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.

Ďalšie spôsoby podpory vrátane kryptomien

Odoslaním daru súhlasíte s našimi podmienkami prijímania darov.

Chcete to zabudovať do svojho produktu?

Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.