---
title: "@zmienky — Comments for Laravel | Roundly"
description: "Rozpoznajte @handles pri každom zápise a úprave, uložte ich a priraďte k vašim modelom — CommentMentioned príde každej osobe raz, po schválení."
url: https://roundly-consulting.com/sk/open-source/navody/comments-for-laravel/zmienky
language: sk
---

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

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

# @zmienky

Telá komentárov sa pri zápise aj úprave prehľadávajú na tokeny @handle. Handles sa vždy uložia ako záznamy CommentMention; nastavte resolver, ktorý ich priradí k modelom a odošle CommentMentioned. Resolver je trieda, nie closure — php artisan config:cache closure uložiť nedokáže:

```php
// app/Mentions/ResolveMention.php
namespace App\Mentions;

use App\Models\User;

final class ResolveMention
{
    public function __invoke(string $handle): ?User
    {
        return User::where('username', $handle)->first();
    }
}

// config/comments.php — an invokable class, or [ResolveMention::class, 'someMethod']
'mention_resolver' => \App\Mentions\ResolveMention::class,

$comment = Comments::on($post)->body('thanks @alice!')->post();
$comment->mentions; // CommentMention rows (handle + optional mentionable)
```

- Handle je @ nasledovaný písmenami, číslicami, \_, . alebo - (@john.doe), končí však písmenom, číslicou alebo podčiarkovníkom — „vďaka @alice.“ teda spomína alice. Nesmie mu predchádzať znak slova, takže e-mailová adresa ako jana@example.com zmienkou nie je.
- Resolver dostane handle bez @ a vráti Eloquent model alebo null. Vytvára sa cez kontajner, takže môže mať závislosti v konštruktore.

## Kedy sa odošle CommentMentioned

- Len pri schválenom komentári a každej osobe raz. Komentár, ktorý moderovanie zadrží — require\_approval, zhoda s blocklistom s akciou pending či hidden, skrytie moderátorom — neupozorní nikoho až do Comments::approve(); potom sa každá priradená zmienka odošle raz.
- Každý handle sa v komentári uloží raz. Úprava udalosť odošle len pre ľudí, ktorých komentár ešte neupozornil — handles, ktoré v tele zostali, si záznamy ponechajú, odstránené sa zmažú a opätovná zmienka tej istej osoby, hoci pod iným handle, nie je novou zmienkou.
- Skrytie a opätovné schválenie nikoho neupozorní dvakrát.

## Resolver ako dvojica \[trieda, metóda\]

Namiesto invokovateľnej triedy môžete resolver nasmerovať na dvojicu \[Class::class, 'method'\]. Aj táto trieda sa vytvára cez kontajner, takže dvojica zostáva kompatibilná s config:cache:

```php
// config/comments.php
'mention_resolver' => [App\Support\MentionResolver::class, 'resolve'],

// app/Support/MentionResolver.php — built through the container
namespace App\Support;

use App\Models\User;

final class MentionResolver
{
    public function resolve(string $handle): ?User
    {
        return User::where('username', $handle)->first();
    }
}
```

## Notifikácia spomenutých používateľov

```php
use Illuminate\Support\Facades\Event;
use RoundlyConsulting\Comments\Events\CommentMentioned;

Event::listen(function (CommentMentioned $event): void {
    $event->mention->handle;       // 'alice'
    $event->mention->mentionable;  // the resolved model (e.g. your User)
    $event->mention->comment;      // the comment that mentions them, as your comments.model class
});
```

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