---
title: "Register metrík — Metrics for Laravel | Roundly"
description: "Zaregistrujte metriky pod krátkymi kľúčmi ako triedy, closures či inštancie a potom ich odkiaľkoľvek načítajte podľa názvu."
url: https://roundly-consulting.com/sk/open-source/navody/metrics-for-laravel/register-metrik
language: sk
---

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

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

# Register metrík

Metriky dashboardu zaregistrujte pod krátkymi kľúčmi — zvyčajne v boot() service providera — a načítavajte ich podľa názvu. Metrika môže byť class-string (vytvorený cez kontajner), closure vracajúca metriku alebo hotová inštancia:

```php
use App\Models\Order;
use RoundlyConsulting\Metrics\Facades\Metrics;

// in a service provider boot()
Metrics::register('registered_users', RegisteredUsers::class);                 // class-string
Metrics::register('revenue', MonthlyRevenueGoal::class);
Metrics::register('users_by_plan', fn () => UsersByPlan::make());              // closure
Metrics::register('orders_today', fn () => Metrics::value()->count(Order::query())->range('TODAY'));
Metrics::register('signups_today', RegisteredUsers::make()->range('TODAY'));   // instance
```

## Načítanie

```php
Metrics::has('revenue');          // true
Metrics::keys();                  // ['registered_users', 'revenue', ...] — without resolving
Metrics::get('revenue');          // a new MonthlyRevenueGoal, tagged with its key
Metrics::get('revenue')->key();   // 'revenue'
Metrics::all();                   // ['registered_users' => RegisteredUsers, ...] — all resolved
```

| Metóda | Vracia | Poznámka |
| --- | --- | --- |
| `register(string $key, string\|Metric\|Closure $metric)` | `MetricsManager` | Dá sa reťaziť. |
| `unregister(string $key)` | `MetricsManager` | Dá sa reťaziť; pri neznámom kľúči nerobí nič. |
| `get(string $key)` | `Metric` | Vyhodnotí novú kópiu metriky a označí ju kľúčom; pri nezaregistrovanom kľúči vyhodí UnknownMetricException. |
| `has(string $key)` | `bool` | Či je kľúč zaregistrovaný. |
| `keys()` | `list<string>` | Zaregistrované kľúče bez vyhodnotenia metrík. |
| `all()` | `array<string, Metric>` | Vyhodnotí všetky zaregistrované metriky. |
| `dashboard(array $keys)` | `Dashboard` | Hromadné vyhodnotenie — pozri Dashboardy. |

get() metriku označí jej kľúčom — vráti ho key() a nesie ho aj udalosť MetricCalculated. Nezaregistrovaný kľúč vyhodí RoundlyConsulting\\Metrics\\Exceptions\\UnknownMetricException. Každé get() vráti novú metriku — zaregistrovaná inštancia sa skopíruje —, takže range() či timezone() použité na vrátenú metriku nikdy nepresiaknu do ďalšieho volania (ani pri Octane do ďalšieho requestu).

## Metriky z controllera

```php
// in a controller
return response()->json(
    collect(Metrics::all())->map->toArray()
);

// or a single metric by key, applying the request's period
return response()->json(
    Metrics::get($key)->range($request->input('period', 'TODAY'))->toArray()
);
```

Keďže každá metrika implementuje Responsable, controller ju môže vrátiť aj priamo — autorizácia zostáva na vašej aplikácii:

```php
public function show(string $key)
{
    return Metrics::get($key)->range(request('period', 'TODAY'));
}
```

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