Konfigurácia
Publikovaný config/permissions.php v plnom znení:
return [
'models' => [
'role' => RoundlyConsulting\Permissions\Models\Role::class,
'permission' => RoundlyConsulting\Permissions\Models\Permission::class,
],
'table_names' => [
'roles' => 'roles',
'permissions' => 'permissions',
'permission_role' => 'permission_role',
'model_roles' => 'model_roles',
'model_permissions' => 'model_permissions',
],
'key_type' => env('PERMISSIONS_KEY_TYPE', 'bigint'),
'register_gate_check' => true,
'description_fallback' => env('PERMISSIONS_DESCRIPTION_FALLBACK', RoundlyConsulting\Translatable\Enums\FallbackMode::Fallback),
'cache' => [
'store' => env('PERMISSIONS_CACHE_STORE', 'default'),
'key' => 'permissions.cache',
'ttl' => env('PERMISSIONS_CACHE_TTL', 300), // seconds (at least 1)
],
];Všetky kľúče
| Kľúč | Predvolené | Env | Účel |
|---|---|---|---|
models.role | Role::class | — | Model roly; nahraďte ho podtriedou, ak ho chcete rozšíriť. Čokoľvek iné vyhodí InvalidConfigurationException. |
models.permission | Permission::class | — | Model oprávnenia; nahraďte ho podtriedou. Čokoľvek iné vyhodí InvalidConfigurationException. |
table_names.roles | roles | — | Tabuľka rolí. |
table_names.permissions | permissions | — | Tabuľka oprávnení. |
table_names.permission_role | permission_role | — | Pivot rola ↔ oprávnenie. |
table_names.model_roles | model_roles | — | Polymorfný pivot držiteľ ↔ rola. |
table_names.model_permissions | model_permissions | — | Polymorfný pivot držiteľ ↔ oprávnenie. |
key_type | bigint | PERMISSIONS_KEY_TYPE | Typ kľúča držiteľov — bigint, uuid alebo ulid. Určuje typ model_id; nastavte ho pred migráciou. Nenastavená alebo prázdna hodnota znamená bigint; akákoľvek iná hodnota vyhodí InvalidConfigurationException. |
register_gate_check | true | — | Zaregistruje hook Gate::before, aby can:<oprávnenie> fungovalo. Prijíma true/false, 1/0, on/off, yes/no; prázdna hodnota sa považuje za nenastavenú, takže platí true; čokoľvek iné vyhodí pri štarte InvalidConfigurationException. |
description_fallback | Fallback | PERMISSIONS_DESCRIPTION_FALLBACK | Ako sa preložiteľný popis vracia na iný jazyk — Fallback, None alebo Any. Prípad enumu alebo jeho reťazcová hodnota (fallback, none, any); prázdna hodnota sa považuje za nenastavenú, takže platí Fallback; neznáma hodnota vyhodí InvalidConfigurationException, namiesto toho, aby sa prečítala ako Fallback. |
cache.store | default | PERMISSIONS_CACHE_STORE | Cache úložisko pre katalóg; default — alebo prázdna hodnota, ktorá sa považuje za nenastavenú — použije predvolené úložisko aplikácie. Hodnota, ktorá nie je reťazcom, vyhodí výnimku. |
cache.key | permissions.cache | — | Kľúč katalógu v cache. Prázdna hodnota sa považuje za nenastavenú, takže platí predvolená; hodnota, ktorá nie je reťazcom, vyhodí výnimku. |
cache.ttl | 300 | PERMISSIONS_CACHE_TTL | Životnosť katalógu v sekundách, aspoň 1 — zámerne krátka, ohraničí vynechanú invalidáciu. int alebo kanonický celočíselný reťazec; prázdna hodnota sa považuje za nenastavenú, takže platí 300; „five“, „1.5“ či 0 vyhodí InvalidConfigurationException. |
Balík nepozná guardy — nemá stĺpec guard_name, konfiguračný kľúč ani parameter. Je zámerne navrhnutý pre jeden guard.
Prostredie (env)
Kľúče, ktoré sa líšia podľa nasadenia, sa nastavujú cez env:
# bigint | uuid | ulid — set before you publish and run the migrations
PERMISSIONS_KEY_TYPE=bigint
# fallback | none | any
PERMISSIONS_DESCRIPTION_FALLBACK=fallback
# "default" uses the app's default cache store
PERMISSIONS_CACHE_STORE=default
PERMISSIONS_CACHE_TTL=300table_names a key_type nastavte pred migráciou — oba sa čítajú pri spustení migrácií a názvy stĺpcov sú pevné. Prázdny názov tabuľky sa považuje za nenastavený, takže platí jeho predvolená hodnota; názov, ktorý nie je reťazcom, vyhodí InvalidConfigurationException.
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 kryptomienOdoslaní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.