---
title: "Konfigurácia — Likes for Laravel | Roundly"
description: "Každý konfiguračný kľúč a jeho predvolená hodnota — model, tabuľka, typ kľúča, reakcie, aktér, váhy, trendy a broadcasting."
url: https://roundly-consulting.com/sk/open-source/navody/likes-for-laravel/konfiguracia
language: sk
---

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

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

# Konfigurácia

Publikovaný config/likes.php bez komentárov:

```php
use RoundlyConsulting\Likes\Models\Like;

return [
    'model' => Like::class,
    'table' => env('LIKES_TABLE', 'likes'),
    'key_type' => env('LIKES_KEY_TYPE', 'bigint'),
    'reactions' => ['like'],
    'default_reaction' => env('LIKES_DEFAULT_REACTION', 'like'),
    'actor_resolver' => null,
    'facade_alias' => env('LIKES_FACADE_ALIAS', 'Likes'),

    'weights' => [
        // 'like' => 1,
        // 'love' => 4,
    ],
    'default_weight' => 1,

    'trending' => [
        'window' => '7 days',
        'recent_multiplier' => 3,
        'driver_expressions' => [
            // 'pgsql' => 'SUM(1 / POWER(EXTRACT(EPOCH FROM (NOW() - created_at)) / 3600 + 2, 1.8))',
        ],
    ],

    'broadcast' => [
        'enabled' => env('LIKES_BROADCAST', false),
        'channel_prefix' => 'likes',
        'channel_type' => 'private',
    ],
];
```

## Všetky kľúče

| Kľúč | Predvolené | Env | Účel |
| --- | --- | --- | --- |
| `model` | Like::class | — | Eloquent model, ktorý ukladá páčiky. Musí to byť model balíka alebo jeho podtrieda; iná trieda vyhodí InvalidConfigurationException. Vlastné $table podtriedy má prednosť pred table, pri zápisoch aj vo všetkých scopoch. |
| `table` | likes | `LIKES_TABLE` | Tabuľka páčikov — číta ju migrácia, model aj všetky scopy. Reťazec; prázdna hodnota (LIKES\_TABLE=) sa považuje za nenastavenú a použije sa predvolená. |
| `key_type` | bigint | `LIKES_KEY_TYPE` | Typ kľúča polymorfných stĺpcov actor a likeable — bigint, uuid alebo ulid. Ak aktéri či cieľové modely používajú kľúče UUID/ULID, nastavte ho pred migráciou; iná hodnota vyhodí InvalidConfigurationException. |
| `reactions` | \['like'\] | — | Povolený zoznam typov reakcií — neprázdny zoznam reťazcov. Akýkoľvek iný typ vyhodí InvalidReactionTypeException. |
| `default_reaction` | like | `LIKES_DEFAULT_REACTION` | Reakcia použitá, keď žiadnu nezadáte. Musí byť uvedená v reactions. |
| `actor_resolver` | null | — | Ako fasáda zistí aktéra: null použije auth()->user(); alebo callable či invokovateľná trieda, ktorá vráti model alebo null. Hodnota, z ktorej nevznikne callable, vyhodí výnimku. |
| `facade_alias` | Likes | `LIKES_FACADE_ALIAS` | Globálny alias triedy pre fasádu Likes. null alebo false/0/off/no (LIKES\_FACADE\_ALIAS=false) alias nezaregistruje; prázdna hodnota sa považuje za nenastavenú, takže sa zaregistruje Likes. |
| `weights` | \[\] | — | Váhy jednotlivých reakcií pre orderByLikeScore() a orderByTrending(). Prázdne = skóre je obyčajný počet. Každá váha musí byť int alebo float. |
| `default_weight` | 1 | — | Váha reakcie, ktorá nie je vo weights (uplatní sa, keď weights nie je prázdne); int alebo float. |
| `trending.window` | 7 days | — | Okno nedávnej aktivity pre orderByTrending(); reťazec (pri prázdnej hodnote platí predvolená). |
| `trending.recent_multiplier` | 3 | — | Koľkokrát viac vážia páčiky v okne oproti celkovej aktivite (int alebo float; iná hodnota vyhodí výnimku). |
| `trending.driver_expressions` | \[\] | — | Voliteľný surový SQL agregát pre databázový driver (sqlite, mysql, pgsql, …), ktorý nahradí skóre trendov v dopytoch na spojení s týmto driverom. Každý ? sa naviaže na hranicu okna. Výraz, ktorý nie je reťazec, vyhodí výnimku; prázdny sa považuje za nenastavený, takže platí prenosné skóre. |
| `broadcast.enabled` | false | `LIKES_BROADCAST` | Voliteľné vysielanie udalostí Liked, Unliked a ReactionChanged. Rozumie aj env reťazcom ako true/1/on a false/0/off; čokoľvek iné vyhodí InvalidConfigurationException. |
| `broadcast.channel_prefix` | likes | — | Prefix názvu kanála, napr. likes.App.Models.Post.42; reťazec (pri prázdnej hodnote platí predvolená). |
| `broadcast.channel_type` | private | — | private, public alebo presence; čokoľvek iné vyhodí výnimku. |

Kľúč, ktorý nie je nastavený — chýba, je null alebo je prázdny ako riadok LIKES\_TABLE= v hostiteľskej aplikácii —, použije svoju predvolenú hodnotu (prázdny výraz pre driver: prenosné skóre). Nastavená hodnota musí sedieť: nereťazcové table, default\_reaction, trending.window či broadcast.channel\_prefix, zoznam reactions, ktorý je prázdny alebo obsahuje nereťazec, nečíselná váha, násobiteľ či predvolená váha, výraz pre driver, ktorý nie je reťazec, alebo preklep v broadcast.channel\_type — ten sa už nečíta ako private — vyhodí InvalidConfigurationException, namiesto aby sa použila predvolená hodnota alebo sa nastavenie zahodilo.

## Prostredie (env)

Kľúče citlivé na nasadenie sa čítajú z env, takže konfiguráciu publikujete len zriedka:

```bash
LIKES_TABLE=likes
LIKES_KEY_TYPE=bigint
LIKES_DEFAULT_REACTION=like
LIKES_FACADE_ALIAS=Likes
LIKES_BROADCAST=false
```

## Pravidlá, ktoré sa oplatí poznať

- table a key\_type sa čítajú pri spustení migrácie — nastavte ich pred migrovaním.
- default\_reaction musí byť v reactions; inak každé volanie bez explicitného typu vyhodí InvalidReactionTypeException.
- Closure v actor\_resolver funguje, no Laravel nedokáže uložiť do cache konfiguráciu s closures — pri php artisan config:cache uprednostnite invokovateľnú triedu.
- Broadcasting je vypnutý, kým broadcast.enabled nie je true; vaše listenery udalosti dostanú v každom prípade.

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