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

Eventy a výnimky

Počúvajte SlugChanged a obnovte sitemapy, cache alebo vyhľadávacie indexy pri každej zmene slugu:

use RoundlyConsulting\Sluggable\Events\SlugChanged;

Event::listen(SlugChanged::class, function (SlugChanged $event): void {
    // $event->model, ->column, ->locale, ->previous, ->current, ->reason (ChangeReason)
    Cache::forget('sitemap');
});
EventÚdajeKedy
SlugChanged (after commit)model, column, locale, previous, current, reason (ChangeReason)Raz pre každú uloženú zmenu.
SlugCollisionRetriedmodelClass, column, attemptPri každom opakovaní po súbehu.
SlugsRegeneratedmodelClass, reportNa konci regenerácie / spracovaného chunku z fronty.
  • SlugChanged implementuje ShouldDispatchAfterCommit — pri vrátenej transakcii sa nikdy neodošle. Spustí sa raz pre každú uloženú zmenu vrátane ručných a pri jazykových mapách raz pre každý zmenený jazyk.
  • Neodošle sa vnútri withoutGeneration() ani pri sluggable:regenerate --without-events.
  • ChangeReason je jedna z hodnôt Generated, Regenerated, Manual, CollisionRetry alebo Restored.

Výnimky

Každá výnimka rozširuje abstraktnú SluggableException (RuntimeException). Hlášky uvádzajú triedu modelu, stĺpec a jazyk — nikdy nie hodnotu iného riadku.

VýnimkaKedy sa vyhodí
InvalidSlugDefinitionExceptionNeplatná definícia alebo konfiguračná hodnota — duplicitné stĺpce, viac route kľúčov, chybný oddeľovač, maxLength mimo rozsahu, chýbajúci kontrakt, chýbajúca hodnota rozsahu a podobne.
InvalidLocaleExceptionChybne zapísaný kód jazyka.
SlugGenerationExceptionVyčerpané kandidáty, prázdny zdroj pri Fail, vyčerpané opakovania, nesúlad indexu s definíciou, neplatný výstup vlastného sluggera alebo nebezpečná ručná hodnota.
SlugAlreadyTakenExceptionRučná hodnota pri politike Strict je už obsadená.
SlugLockedExceptionRučná zmena zamknutého slugu.
SlugMovedExceptionPožiadavka na vyradený slug — vykreslí presmerovanie z histórie; implementuje ShouldntReport.
UnsupportedDriverExceptionDDL indexov na nepodporovanom driveri (napr. SQL Server).

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.