Bez fasády
Fasáda je odporúčaná voľba, nie povinnosť. Koreň fasády, RoundlyConsulting\Onboarding\OnboardingManager, je singleton v kontajneri — vložte si ho cez konštruktor a dostanete presne to isté API, len ako explicitnú závislosť bez statických volaní:
use Illuminate\Http\JsonResponse;
use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request;
use RoundlyConsulting\Onboarding\OnboardingManager;
final class OnboardingController
{
public function __construct(private OnboardingManager $onboarding) {}
public function show(Request $request): JsonResponse
{
return response()->json($this->onboarding->for($request->user())?->toData());
}
public function dismiss(Request $request, string $step): RedirectResponse
{
$this->onboarding->for($request->user())?->dismiss($step);
return back();
}
}Onboarding::fake() vymení okrem fasády aj väzbu v kontajneri, takže fake dostane aj vložený OnboardingManager.
Žiadne triedy akcií
Na rozdiel od väčšiny balíkov Roundly neobsahuje Onboarding akcie na skladanie: toky a kroky sú deklaratívne a manager ich registruje, vyhodnocuje aj ukladá. Vstupnými bodmi sú fasáda a vložený manager.
Metódy managera
| Metóda | Vracia | Účel |
|---|---|---|
register($key, $flow = null) / flow(string $key) | OnboardingManager / Flow | Zaregistruje tok (pole krokov, Flow alebo triedu) / začne ho skladať fluentne. |
for($subject, ?string $key = null) | ?Flow | Kópia toku subjektu naviazaná naň. |
find(string $key, ?Flow $default = null) | ?Flow | Zaregistrovaná definícia. |
has() / all() / forget() / flush() | — | Prehľad a úprava registra. |
resolveUsing(Closure) / resolveFor($subject, ?string $fallback = null) | OnboardingManager / ?Flow | Výber toku pre subjekt. |
useStore(OnboardingStore|string $store) | OnboardingManager | Nastavenie perzistencie. |
store() / hasStore() | ?OnboardingStore / bool | Používaný store. |
dismissStep(Flow $flow, string $step) je verejná, ale @internal — jediná cesta, ktorou prechádza každé skrytie kroku, aby ho fake videl. Kroky skrývajte cez Flow::dismiss() alebo $user->dismissOnboardingStep().
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.