---
title: "Registrácia tokov — Onboarding for Laravel | Roundly"
description: "Registrujte predvolené toky aj toky pod kľúčmi, skladajte ich fluentne, balte do tried a spravujte register."
url: https://roundly-consulting.com/sk/open-source/navody/onboarding-for-laravel/registracia-tokov
language: sk
---

[Všetky balíky](https://roundly-consulting.com/sk/open-source.md)

[Onboarding for Laravel](https://roundly-consulting.com/sk/open-source/navody/onboarding-for-laravel.md)

# Registrácia tokov

Toky zaregistrujte raz — zvyčajne v metóde boot() niektorého zo service providerov aplikácie:

```php
namespace App\Providers;

use App\Models\User;
use Illuminate\Support\ServiceProvider;
use RoundlyConsulting\Onboarding\Facades\Onboarding;
use RoundlyConsulting\Onboarding\Flow;
use RoundlyConsulting\Onboarding\Step;

class AppServiceProvider extends ServiceProvider
{
    public function boot(): void
    {
        Onboarding::register(Flow::make('Profile Onboarding')->of([
            Step::make('Upload Photo')
                ->cta('Upload Now')
                ->action('users@photo@upload') // a route name, URL, or any hint your frontend understands
                ->completeIf(fn (?User $user) => (bool) $user?->photo),
        ]));
    }
}
```

Registrácia bez kľúča uloží tok pod predvolený kľúč default (uložený v OnboardingManager::$default). Ďalšie toky zaregistrujte pod explicitnými kľúčmi:

```php
Onboarding::register('admin', Flow::make('Admin Setup')->of([
    Step::make('Invite your team'),
    Step::make('Connect billing')->completeIf(fn (?User $user) => $user?->hasBilling()),
]));
```

Zaregistrovať môžete aj obyčajné pole krokov — balík ho zabalí do Flow a bez kľúča sa z neho stane predvolený tok:

```php
Onboarding::register([
    Step::make('Upload Photo')->cta('Upload Now'),
]);
```

## Fluentná registrácia

Onboarding::flow() vytvorí, zaregistruje a vráti prázdny tok pod kľúčom — tok, ktorý tam už bol, nahradí. add() pridá krok a vráti práve tento Step, takže builder kroku pokračuje priamo za ním:

```php
Onboarding::flow('default')
    ->title('Profile Onboarding')
    ->add('Upload Photo')->key('upload-photo')->cta('Upload Now')
        ->action('users@photo@upload')
        ->completeIf(fn (?User $user) => (bool) $user?->photo);
```

Keďže add() vracia Step, nie tok, každý ďalší krok začnite z premennej toku — alebo hotové kroky pridajte cez addStep():

```php
$flow = Onboarding::flow('default')->title('Profile Onboarding');

// add() returns the new Step, so start every step from the flow
$flow->add('Upload Photo')->key('upload-photo')->completeWhenFilled('avatar_path');
$flow->add('Verify email')->key('verify-email')->completeWhenTrue('hasVerifiedEmail');

// or append ready-made steps (variadic, returns the Flow)
$flow->addStep(
    Step::make('Invite team')->completeWhenHas('teams'),
    Step::make('Add a bio')->optional()->completeWhenFilled('bio'),
);
```

## Vlastné triedy tokov

Pre znovupoužiteľné toky rozšírte Flow a nakonfigurujte ho v chránenej metóde setup(), ktorá sa volá z konštruktora:

```php
namespace App\Onboarding;

use RoundlyConsulting\Onboarding\Flow;
use RoundlyConsulting\Onboarding\Step;

final class UserOnboarding extends Flow
{
    protected function setup(): void
    {
        $this->title('User Onboarding')->of([
            Step::make('Verify email')->key('verify-email')->completeWhenTrue('hasVerifiedEmail'),
            Step::make('Upload photo')->key('photo')->route('profile.photo')->completeWhenFilled('avatar_path'),
            Step::make('Add a bio')->key('bio')->optional()->completeWhenFilled('bio'),
        ]);
    }
}
```

Vlastný tok zaregistrujte názvom triedy — register si ho vytvorí sám:

```php
use App\Onboarding\UserOnboarding;
use RoundlyConsulting\Onboarding\Facades\Onboarding;

Onboarding::register(UserOnboarding::class);            // stored as the default flow
Onboarding::register('user', UserOnboarding::class);    // stored under the "user" key
```

## Správa registra

```php
Onboarding::find('admin');                 // ?Flow — the registered definition
Onboarding::find('missing', new Flow());   // the fallback when the key is unknown
Onboarding::has('admin');                  // bool
Onboarding::all();                         // Collection<string, Flow>, keyed by flow key
Onboarding::forget('admin');               // remove one flow
Onboarding::flush();                       // remove all flows and the resolver
```

find() vráti samotnú zaregistrovanú definíciu — použite ju na rozšírenie toku pri štarte a čítajte cez Onboarding::for(), aby sa na zdieľanú inštanciu nikdy nenaviazal subjekt. Všetky metódy managera nájdete v časti Fasáda Onboarding.

Registrácia názvu triedy, ktorá nie je Flow ani jej potomok, vyhodí InvalidFlowException — pozrite si Rozšírenie a výnimky.

## 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](https://roundly-consulting.com/sk/podporte-nas.md)

Odoslaním daru súhlasíte s našimi [podmienkami prijímania darov](https://roundly-consulting.com/sk/podmienky-darov.md).

[Podporte našu open-source prácu (otvorí sa v novej karte)](https://donate.stripe.com/dRmeVe8FX5PF1Qd9pXcEw00) [Pridajte sa k nám na Patreone (otvorí sa v novej karte)](https://www.patreon.com/cw/roundly)

## 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.

[Ponuka do 48 hodín](https://roundly-consulting.com/sk/kontakt.md) [Prezrieť všetky balíky](https://roundly-consulting.com/sk/open-source/navody/onboarding-for-laravel.md)
