---
title: "Konfigurácia — Sluggable for Laravel | Roundly"
description: "Každý konfiguračný kľúč s predvolenou hodnotou a env premennou — formátovanie, jedinečnosť, úpravy, jazyky, limity, opakovania a história."
url: https://roundly-consulting.com/sk/open-source/navody/sluggable-for-laravel/konfiguracia
language: sk
---

[Všetky balíky](https://roundly-consulting.com/sk/open-source.md)

[Sluggable for Laravel](https://roundly-consulting.com/sk/open-source/navody/sluggable-for-laravel.md)

# Konfigurácia

Každý kľúč má funkčnú predvolenú hodnotu, takže väčšina aplikácií konfiguráciu vôbec nepublikuje. Publikovaný config/sluggable.php v plnom znení:

```php
return [
    'defaults' => [
        'column' => 'slug',
        'source' => 'name',
        'separator' => '-',
        'max_length' => 255,
        'max_words' => null,
        'language' => env('SLUGGABLE_LANGUAGE', 'en'),
        'dictionary' => ['@' => 'at'],
        'lowercase' => true,
        'unicode' => false,
        'uniqueness' => 'global',
        'locale_uniqueness' => 'per_locale',
        'include_trashed' => true,
        'on_create' => true,
        'on_update' => env('SLUGGABLE_ON_UPDATE', 'if_empty'),
        'manual' => 'normalize',
        'empty_source' => 'random',
        'suffix' => 'sequential',
        'suffix_start' => 2,
        'random_length' => 8,
        'target_locales' => 'source',
        'locale_fallback' => 'any',
    ],
    'reserved' => [],
    'locales' => [
        'supported' => null,
        'fallback' => env('SLUGGABLE_FALLBACK_LOCALE'),
    ],
    'binding' => [
        'key_fallback' => false,
    ],
    'limits' => [
        'max_source_length' => 2000,
        'sequential_probes' => 50,
        'probe_batch' => 10,
        'random_attempts' => 10,
    ],
    'concurrency' => [
        'retries' => env('SLUGGABLE_RETRIES', 3),
    ],
    'history' => [
        'enabled' => env('SLUGGABLE_HISTORY', false),
        'redirect' => env('SLUGGABLE_HISTORY_REDIRECT', true),
        'redirect_status' => 301,
        'avoid_reuse' => false,
        'table' => env('SLUGGABLE_HISTORY_TABLE', 'slug_history'),
        'model' => \RoundlyConsulting\Sluggable\Models\SlugHistory::class,
        'prune_after_days' => env('SLUGGABLE_HISTORY_PRUNE_DAYS'),
    ],
    'key_type' => env('SLUGGABLE_KEY_TYPE', 'bigint'),
];
```

## Všetky kľúče

| Kľúč | Predvolené | Env | Účel |
| --- | --- | --- | --- |
| `defaults.column` | slug | — | Stĺpec definície bez konfigurácie. |
| `defaults.source` | name | — | Zdrojový atribút definície bez konfigurácie. |
| `defaults.separator` | \- | — | 1–3 znaky z - . \_ ~ |
| `defaults.max_length` | 255 | — | Počet znakov vrátane prefixu, sufixu a kolízneho sufixu (8–2048). |
| `defaults.max_words` | null | — | Limit slov (null alebo prázdna hodnota = bez limitu). |
| `defaults.language` | en | `SLUGGABLE_LANGUAGE` | Jazyk transliterácie reťazcových slugov (jazykové mapy používajú jazyk každej položky). |
| `defaults.dictionary` | \['@' => 'at'\] | — | Náhrady aplikované pred odstránením znakov. |
| `defaults.lowercase` | true | — | Prevod slugu na malé písmená. |
| `defaults.unicode` | false | — | Zachovať ne-ASCII písmená namiesto transliterácie. |
| `defaults.uniqueness` | global | — | none / global / scoped |
| `defaults.locale_uniqueness` | per\_locale | — | per\_locale / across\_locales |
| `defaults.include_trashed` | true | — | Soft-deleted riadky si slug naďalej rezervujú. |
| `defaults.on_create` | true | — | Generovať pri vytvorení. |
| `defaults.on_update` | if\_empty | `SLUGGABLE_ON_UPDATE` | never / if\_empty / when\_source\_changes / always |
| `defaults.manual` | normalize | — | normalize / verbatim / strict |
| `defaults.empty_source` | random | — | random / skip / fail |
| `defaults.suffix` | sequential | — | sequential / random (custom vyžaduje suffixUsing()). |
| `defaults.suffix_start` | 2 | — | Prvý sekvenčný sufix (1–1000). |
| `defaults.random_length` | 8 | — | Dĺžka náhodného slugu / náhodného sufixu (4–32). |
| `defaults.target_locales` | source | — | source / supported / current |
| `defaults.locale_fallback` | any | — | none / fallback / any — reťazec pre čítanie a binding. |
| `reserved` | \[\] | — | Slugy, ktoré nesmie získať nikto (bez ohľadu na veľkosť písmen). |
| `locales.supported` | null | — | Zoznam jazykov; null = app.locale + app.fallback\_locale. |
| `locales.fallback` | null | `SLUGGABLE_FALLBACK_LOCALE` | null alebo prázdna hodnota = app.fallback\_locale. |
| `binding.key_fallback` | false | — | Po neúspešnom hľadaní podľa slugu skúsiť primárny kľúč. |
| `limits.max_source_length` | 2000 | — | Počet zohľadnených znakov zdroja (64–100000). |
| `limits.sequential_probes` | 50 | — | Sekvenčné kandidáty pred náhodnými (1–1000). |
| `limits.probe_batch` | 10 | — | Kandidáty overené jedným dopytom (1–100). |
| `limits.random_attempts` | 10 | — | Náhodné kandidáty, kým generovanie skončí chybou (1–100). |
| `concurrency.retries` | 3 | `SLUGGABLE_RETRIES` | Opakovania po kolízii na unikátnom indexe (0–20; 0 vypne). |
| `history.enabled` | false | `SLUGGABLE_HISTORY` | Predvolená hodnota pre keepHistory(). |
| `history.redirect` | true | `SLUGGABLE_HISTORY_REDIRECT` | Predvolená hodnota pre redirectFromHistory(). |
| `history.redirect_status` | 301 | — | 301 / 302 / 307 / 308 |
| `history.avoid_reuse` | false | — | Predvolená hodnota pre avoidHistoricalSlugs(). |
| `history.table` | slug\_history | `SLUGGABLE_HISTORY_TABLE` | Tabuľka histórie (prázdna hodnota → slug\_history; musí to byť platný identifikátor). |
| `history.model` | SlugHistory::class | — | Vymeniteľný model histórie (musí ho rozširovať; čokoľvek iné vyhodí výnimku). |
| `history.prune_after_days` | null | `SLUGGABLE_HISTORY_PRUNE_DAYS` | Vek na premazanie (1–36500); null alebo prázdna hodnota (SLUGGABLE\_HISTORY\_PRUNE\_DAYS=) = uchovať navždy. |
| `key_type` | bigint | `SLUGGABLE_KEY_TYPE` | Typ primárneho kľúča slugovaných modelov (bigint / uuid / ulid, bez ohľadu na veľkosť písmen); čokoľvek iné vyhodí InvalidConfigurationException. |

Každý kľúč sa overí pri prvom použití: preklep alebo hodnota mimo rozsahu (napríklad SLUGGABLE\_HISTORY=disabled) vyhodí InvalidSlugDefinitionException s názvom kľúča namiesto tichého návratu k predvolenej hodnote. Prepínače prijímajú true/false, 1/0, on/off a yes/no; reťazcové kľúče (column, source, separator, language, history.table, locales.fallback) musia byť reťazce; reserved a locales.supported musia byť zoznamy neprázdnych reťazcov a dictionary mapa reťazec ⇒ reťazec — chybná položka vyhodí výnimku namiesto toho, aby sa potichu vynechala. Predvolenú hodnotu dostane len nenastavený kľúč — chýbajúci, null alebo prázdny (KEY= v .env). Nerozpoznaný key\_type vyhodí InvalidConfigurationException z toolkitu.

## Prostredie (env)

Deväť kľúčov sa riadi cez env — tu s ukážkovými hodnotami:

```bash
SLUGGABLE_LANGUAGE=en
SLUGGABLE_FALLBACK_LOCALE=en
SLUGGABLE_ON_UPDATE=when_source_changes
SLUGGABLE_RETRIES=3
SLUGGABLE_HISTORY=true
SLUGGABLE_HISTORY_REDIRECT=true
SLUGGABLE_HISTORY_TABLE=slug_history
SLUGGABLE_HISTORY_PRUNE_DAYS=365
SLUGGABLE_KEY_TYPE=bigint
```

## Prepísanie v definícii

Blok defaults dopĺňa len voľby, ktoré definícia slugu nenastaví. Čokoľvek nastavíte na SlugDefinition alebo v atribúte #\[Slug\], má pre daný stĺpec prednosť.

## 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](https://roundly-consulting.com/sk/podporte-nas.md)

Odoslaním daru súhlasíte s našimi [podmienkami prijímania darov](https://roundly-consulting.com/sk/podmienky-darov.md).

[Podporte našu open-source prácu (otvorí sa v novej karte)](https://donate.stripe.com/dRmeVe8FX5PF1Qd9pXcEw00) [Pridajte sa k nám na Patreone (otvorí sa v novej karte)](https://www.patreon.com/cw/roundly)

## 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.

[Ponuka do 48 hodín](https://roundly-consulting.com/sk/kontakt.md) [Prezrieť všetky balíky](https://roundly-consulting.com/sk/open-source/navody/sluggable-for-laravel.md)
