NovinkaZverejnili sme 50+ Laravel balíkov ako open source
Custom AI apps, agents and automation — Roundly ConsultingRoundly
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ýnimkaRozširujeKedy vznikne
OnboardingExceptionInvalidArgumentExceptionZákladný typ výnimiek balíka.
InvalidFlowException::keyMustBeString()OnboardingExceptionregister() dostal kľúč, ktorý nie je reťazec, spolu s tokom.
InvalidFlowException::notAFlowClass($class)OnboardingExceptionZaregistroval sa názov triedy, ktorá nie je Flow ani jej potomok.
InvalidStoreException::notAStore($class)OnboardingExceptionuseStore() 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 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.