---
title: "Definície a grafy — Lifecycle for Laravel | Roundly"
description: "Prezerajte stavy a prechody cez Lifecycles::model() a definitions() a exportujte diagramy Mermaid alebo DOT cez lifecycle:graph."
url: https://roundly-consulting.com/sk/open-source/navody/lifecycle-for-laravel/definicie-a-grafy
language: sk
---

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

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

# Definície a grafy

Pomocníci na úrovni modelu a prístup k definíciám vystavujú skompilovanú definíciu, validáciu aj diagramy:

```php
$model = Lifecycles::model(Listing::class);          // or (Listing::class, 'status')
$model->states();          // every state
$model->initial();         // ListingStatus::Draft
$model->terminal();        // [ListingStatus::Archived]
$model->transitions();     // list<TransitionDefinition>
$model->graph();           // Mermaid (or ->graph(GraphFormat::Dot))

Lifecycles::definitions()->get(ListingLifecycle::class);       // CompiledDefinition
Lifecycles::definitions()->of($listing);                       // the definition of a model's lifecycle
Lifecycles::definitions()->validate(ListingLifecycle::class);  // ValidationReport: isValid(), errors(), warnings()
Lifecycles::definitions()->graph(ListingLifecycle::class, GraphFormat::Dot);
Lifecycles::definitions()->subjects();                         // config('lifecycle.subjects')
Lifecycles::definitions()->registered();                       // the definitions of those subjects
```

Výstup grafu je deterministický, v poradí deklarácie a s rozvinutými zástupnými znakmi. Mermaid používa stateDiagram-v2, systémové hrany označí ⚙ a ku každému stavu pridá poznámku s TTL, ochrannou lehotou, kvótou, časom v stave a zapečatením; DOT kreslí zaoblené boxy, prerušované systémové hrany a dvojité okraje koncových stavov. Cyklus inzerátu vyzerá takto:

```
stateDiagram-v2
    state "Draft" as s0
    state "Active" as s1
    state "Closed" as s2
    state "Expired" as s3
    state "Archived" as s4
    [*] --> s0
    s0 --> s1: publish
    s1 --> s2: close
    s2 --> s1: reopen
    s1 --> s3: expire ⚙
    s3 --> s1: reactivate
    s0 --> s4: archive
    s1 --> s4: archive
    s2 --> s4: archive
    s3 --> s4: archive
    s4 --> [*]
    note right of s1: ttl 30 days · grace 3 days · quota
```

## Z príkazového riadku

```bash
php artisan lifecycle:graph "App\Lifecycles\ListingLifecycle"
php artisan lifecycle:graph listing:status --format=dot --output=storage/listing.dot
```

definition je trieda definície alebo Model:atribút (názov triedy alebo morph alias); bez --format sa použije graph.default\_format a --output graf zapíše do súboru.

Lifecycles::definitions()->flush() zahodí skompilované definície — pre testy, ktoré cyklus za behu predefinujú.

## 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/lifecycle-for-laravel.md)
