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

Výber toku pre subjekt

Namiesto ručného vetvenia zaregistrujte raz resolver, ktorý subjektu priradí kľúč toku:

Onboarding::resolveUsing(fn ($subject) => $subject?->isAdmin() ? 'admin' : 'default');

Onboarding::for($user);                 // the resolved Flow, bound to $user
Onboarding::resolveFor($user);          // the same
Onboarding::resolveFor($user, 'team');  // the same, falling back to "team" instead of "default"
$user->resolvedOnboarding();            // the same as Onboarding::for($user), from the GetsOnboarded trait
  • Resolver dostane subjekt — Model, Authenticatable alebo null — a vráti kľúč toku alebo null.
  • Onboarding::for($subject) bez kľúča — aj resolveFor() — vráti kópiu toku podľa resolvera naviazanú na subjekt, ak je daný kľúč zaregistrovaný.
  • Ak resolver vráti null alebo neznámy kľúč, použijú predvolený tok — alebo kľúč odovzdaný ako druhý argument resolveFor(); null vrátia, len ak neexistuje ani jeden.
  • flush() zruší resolver spolu so zaregistrovanými tokmi.

Resolver verzus predvolený kľúč

Každé miesto, ktoré číta tok subjektu bez kľúča, sa najprv pýta resolvera: $user->onboarding(), metódy modelu (hasCompletedOnboarding(), isOnboarding(), onboardingProgress(), nextOnboardingStep(), dismissOnboardingStep()) aj middleware onboarding. Pri modeli sa pri odpovedi null alebo neznámom kľúči použije jeho defaultOnboardingKey(). Explicitný kľúč — $user->onboarding('admin') či onboarding:admin — má vždy prednosť:

class User extends Model
{
    use GetsOnboarded;

    // the fallback when the resolver answers null or an unknown key
    public function defaultOnboardingKey(): string
    {
        return $this->onboarding_flow ?? 'default';
    }
}

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.