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

Viazanie subjektu

Tok vyhodnocuje kroky voči subjektu — Eloquent Model alebo akémukoľvek Illuminate\Contracts\Auth\Authenticatable. Tok subjektu získate cez Onboarding::for():

Onboarding::for($user)?->percentageCompleted();            // the resolver's flow, else "default"
Onboarding::for($user, 'admin')?->percentageCompleted();   // a specific flow by key

Onboarding::find() vráti samotnú zaregistrovanú definíciu. Ak z nej čítate bez naviazania, použije pri čítaní prihláseného používateľa — auth()->user(). Explicitný subjekt má vždy prednosť:

// binds auth()->user() implicitly
Onboarding::find('default')?->percentageCompleted();

// an explicit subject always wins
Onboarding::for($otherUser)?->percentageCompleted();

V kontexte bez autentifikácie — obyčajný unit test, job vo fronte bez používateľa — zostáva subjekt null. Pravidlá aj deklaratívne pomocníky subjekt null znesú.

Každý subjekt dostane vlastnú kópiu

Onboarding::for(), resolveFor() aj trait modelu vracajú kópiu zaregistrovaného toku — aj s kópiami krokov — naviazanú na subjekt. Toky dvoch subjektov nikdy nezdieľajú stav, ani v jednej požiadavke, jobe či dlhobežiacom workeri Octane, a zaregistrovaná definícia zostáva nenaviazaná:

$mine = Onboarding::for($user);     // a copy bound to $user
$theirs = Onboarding::for($admin);  // another copy, bound to $admin

$mine?->percentageCompleted();      // still evaluates $user
$user->onboarding();                // the trait returns a copy too

// find() hands back the registered definition itself — add steps to it at boot,
// but read through for() so no subject is ever bound to the shared instance
Onboarding::find('default')?->add('Invite your team');

Subjekt v udalostiach

Subjekt putuje v StepCompleted a FlowCompleted ako $for. Keďže subjektom môže byť akýkoľvek Authenticatable, listenery s typom ?Model $for by mali počítať aj so subjektom, ktorý nie je Model.

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.