---
title: "Stav a živé reporty — Certificates for Laravel | Roundly"
description: "Životný cyklus CertificateStatus a jeho prechody, stav z registra verzus cachované živé reporty poskytovateľa a riadenie cache."
url: https://roundly-consulting.com/sk/open-source/navody/certificates-for-laravel/stav-a-zivotny-cyklus
language: sk
---

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

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

# Stav a živé reporty

Na rôzne otázky odpovedajú dva zdroje stavu. Certificates::status() číta register — CertificateStatus certifikátu, ktorý doménu pokrýva (jej vlastný posledný záznam, inak SAN certifikát, ktorý ju uvádza), alebo null. Certificates::statusReport() sa živo pýta poskytovateľa a vracia CertificateStatusReport, cachovaný podľa status\_cache.\*:

```php
Certificates::statusReport('app.example.com');               // cached
Certificates::statusReport('app.example.com', fresh: true);  // bypass + refresh
Certificates::for('app.example.com')->fresh()->statusReport();
```

```php
$report = Certificates::statusReport('app.example.com', driver: 'acme');

$report?->status;       // CertificateStatus
$report?->expiresAt;    // CarbonImmutable|null
$report?->issuer;       // ?string
$report?->serial;       // ?string
$report?->fingerprint;  // ?string
$report?->domains;      // list<string> — SANs
```

statusReport() vracia null pre driver, ktorý stav hlásiť nevie — null alebo vlastný driver bez ReportsCertificateStatus.

## Cache

Pri zapnutom status\_cache.enabled sa každý report uloží do status\_cache.store na status\_cache.ttl sekúnd pod kľúčom pre driver a názov certifikátu. fresh: true — alebo ->fresh() na builderi — sa poskytovateľa opýta znova a záznam v cache obnoví. issue() a renew() cachovaný report daného certifikátu zahodia, takže ďalšie statusReport() prečíta nový stav, nie ten z cache spred zmeny. Záznam sami odstránite cez resolver:

```php
use RoundlyConsulting\Certificates\Support\CachedStatusResolver;

app(CachedStatusResolver::class)->forget('acme', Certificates::certificateName('app.example.com'));
```

## Enum CertificateStatus

Stĺpec status modelu je pretypovaný na reťazcový enum s natívnym stavovým automatom:

| Prípad | Hodnota | Farba | Môže prejsť do |
| --- | --- | --- | --- |
| `Pending` | pending | amber | Requested |
| `Requested` | requested | amber | Issued, Failed |
| `Issued` | issued | green | Renewing, Expired, Revoked |
| `Renewing` | renewing | amber | Renewed, Failed |
| `Renewed` | renewed | green | Renewing, Expired, Revoked |
| `Failed` | failed | red | Renewing — zlyhaný záznam sa dá znova obnoviť |
| `Expired` | expired | red | — (koncový) |
| `Revoked` | revoked | red | — (koncový) |

```php
use RoundlyConsulting\Certificates\Enums\CertificateStatus;

CertificateStatus::Issued->isActive();              // true
CertificateStatus::Revoked->isTerminal();           // true
CertificateStatus::Failed->isTerminal();            // false — a failed row can be renewed again
CertificateStatus::Requested->canTransitionTo(CertificateStatus::Issued); // true
CertificateStatus::Failed->canTransitionTo(CertificateStatus::Renewing);  // true
CertificateStatus::Issued->allowedTransitions();    // [Renewing, Expired, Revoked]
CertificateStatus::Issued->color();                 // 'green'
CertificateStatus::Issued->label();                 // 'Issued' (en), 'Vydaný' (sk)

CertificateStatus::toOptions();       // value => label, for selects
CertificateStatus::validationRule();  // 'in:pending,requested,issued,...'
```

isActive() platí pre Issued a Renewed; isTerminal() pre Expired a Revoked — také záznamy oživí len nové issue(). Failed nie je koncový stav: zlyhané vystavenie či obnovu môžete znova obnoviť. Enum používa trait Helpers z enums-for-laravel, ktorý pridáva values(), labels(), options(), toOptions(), validationRule(), tryFromLabel() a ďalšie metódy pre administráciu a validáciu.

label() číta certificates::messages.statuses.<value> v aktuálnom jazyku (Issued / Vydaný) a labels(), options(), toOptions() aj tryFromLabel() čítajú ten istý riadok. Pre jazyk, pre ktorý balík texty nemá, vráti názov odvodený z hodnoty (Issued), na ktorý sa stále uplatnia vaše JSON preklady.

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