Všetky balíky
Onboarding for Laravel
Rozšírenie a výnimky
Flow, Step aj OnboardingManager používajú trait Macroable z Laravelu, takže fluentné pomocníky pridáte pri štarte aplikácie bez dedenia:
use RoundlyConsulting\Onboarding\Flow;
use RoundlyConsulting\Onboarding\OnboardingManager;
use RoundlyConsulting\Onboarding\Step;
// e.g. in a service provider's boot()
Step::macro('completeWhenVerified', fn () => $this->completeWhenTrue('email_verified_at'));
Flow::macro('progressLabel', fn () => round($this->percentageCompleted()).'% done');
OnboardingManager::macro('keys', fn () => $this->all()->keys());Step::make('Verify email')->completeWhenVerified();
$user->onboarding()?->progressLabel(); // "67% done"
Onboarding::keys(); // Collection of registered flow keysĎalšie body rozšírenia
- Vlastné triedy tokov — rozšírte Flow a nakonfigurujte ho v setup().
- Resolver — Onboarding::resolveUsing() vyberie tok pre subjekt.
- defaultOnboardingKey() — prepíšte ho na modeli a zvoľte jeho tok.
- Kontrakt OnboardingStore — vlastný zapojíte cez Onboarding::useStore() pre skryteľné kroky a jednorazové udalosti.
- Udalosti — počúvajte StepCompleted a FlowCompleted, ukladajte postup alebo spúšťajte ďalšie akcie.
Výnimky
| Výnimka | Rozširuje | Kedy vznikne |
|---|---|---|
OnboardingException | InvalidArgumentException | Základný typ výnimiek balíka. |
InvalidFlowException::keyMustBeString() | OnboardingException | register() dostal kľúč, ktorý nie je reťazec, spolu s tokom. |
InvalidFlowException::notAFlowClass($class) | OnboardingException | Zaregistroval sa názov triedy, ktorá nie je Flow ani jej potomok. |
InvalidStoreException::notAStore($class) | OnboardingException | useStore() dostal triedu, ktorá neimplementuje OnboardingStore. |
use RoundlyConsulting\Onboarding\Exceptions\InvalidFlowException;
use RoundlyConsulting\Onboarding\Facades\Onboarding;
try {
Onboarding::register(SomeNonFlowClass::class);
} catch (InvalidFlowException $e) {
// "[App\SomeNonFlowClass] is not a RoundlyConsulting\Onboarding\Flow class."
}OnboardingException rozširuje InvalidArgumentException, takže existujúce bloky catch (InvalidArgumentException) fungujú ďalej.
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.