Balík je bezstavový, takže prechody sám nezachytí — aktuálny stav však ohlási, keď oň požiadate. Zavolajte record() vo vlastnom kontrolnom bode a balík odošle StepCompleted pre každý dokončený viditeľný krok a FlowCompleted, keď je dokončený celý tok. Čítanie nikdy nič neodosiela; robí to len record().
use Illuminate\Support\Facades\Event;
use RoundlyConsulting\Onboarding\Events\FlowCompleted;
use RoundlyConsulting\Onboarding\Events\StepCompleted;
use RoundlyConsulting\Onboarding\Facades\Onboarding;
Onboarding::for($user)?->record(); // announce every complete step (+ FlowCompleted when done)
$user->onboarding()?->record(); // the same through the traitAk odovzdáte kľúč kroku, ohlási sa len tento krok, pokiaľ je viditeľný a dokončený. FlowCompleted odošle len vtedy, keď jeho dokončením skončil celý tok — krok je povinný, bol ohlásený (store ho ešte nemá zaznamenaný) a tok je teraz dokončený. Neznámy, nedokončený alebo voliteľný krok ju nespustí nikdy:
Onboarding::for($user)?->record('upload-photo'); // announce just one stepObsah udalostí
| Udalosť | Vlastnosti | Kedy sa odošle |
|---|---|---|
StepCompleted | $step, $for | record() ohlási dokončený krok, ktorý store ešte nemá zaznamenaný. |
FlowCompleted | $flow, $for | record() sa zavolá, keď je celý tok dokončený; record($key) len vtedy, keď ohlásil daný povinný krok a tok je tým dokončený. |
Obe udalosti sú v RoundlyConsulting\Onboarding\Events a nesú naviazaný subjekt v $for — Model, akýkoľvek Authenticatable alebo null.
Počúvanie udalostí
Event::listen(StepCompleted::class, function (StepCompleted $e): void {
// $e->step (Step), $e->for (the subject — Model, Authenticatable or null)
});
Event::listen(FlowCompleted::class, function (FlowCompleted $e): void {
// $e->flow (Flow), $e->for (the subject)
});Kontrolný bod v kontroléri
public function update(Request $request): RedirectResponse
{
$request->user()->update([
'avatar_path' => $request->file('photo')->store('avatars'),
]);
// a checkpoint of your choosing: announce the step this request may have completed
Onboarding::for($request->user())?->record('upload-photo');
return back();
}Bez store každé volanie record() znova ohlási všetky dokončené kroky. Zapojte store cez Onboarding::useStore() a StepCompleted sa odošle pre každý krok len raz — pozrite si Perzistencia.
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.