NovinkaZverejnili sme 50+ Laravel balíkov ako open source
Custom AI apps, agents and automation — Roundly ConsultingRoundly
Všetky balíky

Open source

Comments for Laravel

Inštalácia
composer require roundly-consulting/comments-for-laravel
Vyžaduje: PHP ^8.4 · Laravel ^12.0|^13.0

Prehľad

Polymorfné komentáre pre Laravel. Komentáre môže prijímať ktorýkoľvek Eloquent model a písať ich môže tiež ktorýkoľvek model — s vláknami odpovedí, moderovaním v stavoch pending/approved/hidden, blocklist filtrom, @zmienkami, zamykaním vlákien, metaúdajmi pri každom komentári a prehľadnou fasádou Comments. Páčiky, nahlasovanie komentárov a prílohy sú zabudované cez sesterské balíky Roundly. Licencia MIT, bez externých runtime závislostí okrem Laravelu a týchto balíkov.

Čo získate

Komentáre na čomkoľvek

Komentáre prijíma ktorýkoľvek model a píše ich ktorýkoľvek model — vrátane anonymných komentárov hostí, všetko v jednej polymorfnej tabuľke.

Odpovede vo vláknach

Odpovede sa viažu na rodiča a zostávajú pri pôvodnom subjekte, s limitom hĺbky, ktorý obmedzuje aj eager loading.

Vstavané moderovanie

Stavy pending, approved a hidden, fronta na schválenie, hromadné moderovanie a blocklist slov či regulárnych výrazov.

Páčiky a nahlásenia

Zoraďte vlákna podľa obľúbenosti alebo trendu a automaticky skryte komentáre po potvrdenom nahlásení či prekročení limitu.

Prílohy a vložené médiá

Súkromná skupina príloh pre každý komentár a tokeny [media:UUID] vykreslené ako responzívne obrázky alebo odkazy.

Zmienky a zámky

@handles sa rozpoznajú a priradia k vašim modelom; zamknúť môžete celý subjekt alebo vlákno pod jedným komentárom.

Metaúdaje a zlúčenie

Ku každému komentáru uložte vlastné metaúdaje v samostatnom mennom priestore a filtrujte podľa nich; pri zlúčení dvoch záznamov presuniete celú diskusiu jedným volaním.

Fasáda, DI alebo akcie

Jedna fasáda Comments, vložiteľný CommentsManager alebo samostatné akcie — plus zaznamenávajúci Comments::fake() a hotový JSON resource.

Dokumentácia

Inštalácia

Inštalácia cez Composer, publikovanie a spustenie migrácií — aj sesterských balíkov —, prechod z 1.0 a voliteľne konfigurácia a preklady.

Konfigurácia

Každý konfiguračný kľúč s predvolenou hodnotou — model, typ kľúča, schvaľovanie, limity, blocklist, zmienky, autorizácia, resource autora a médiá.

Príprava modelov

Pridajte HasComments modelom, ktoré prijímajú komentáre, a GivesComments autorom — alebo použite vlastný model Comment.

Fasáda Comments

Celé API na jednom mieste — fluentný builder zápisu, úpravy, moderovanie, dotazy naprieč webom aj zúžené, zámky, presuny, kontrola blocklistu a fake().

DI a akcie

Vložte si CommentsManager a získate to isté API bez statických volaní, alebo spustite niektorú z jedenástich akcií priamo z jobu či vlastnej akcie.

Písanie komentárov

Píšte komentáre cez fluentnú fasádu Comments, typované DTO alebo trait autora — s kontrolou tela, zámkov a blocklistu pri každom zápise.

Úprava, mazanie a obnovenie

Upravte telo komentára, mäkko ho zmažte a obnovte — úpravy sa znova validujú, kontrolujú voči zámkom a prehľadávajú na zmienky.

Odpovede vo vláknach

Odpovede sa viažu na rodiča a zostávajú pri pôvodnom subjekte; hĺbku obmedzuje max_depth, ktorý limituje aj eager loading.

Čítanie a počty komentárov

Čítajte komentáre cez vzťahy modelu alebo fluentné CommentQuery — filtre, radenie, stránkovanie, únikové cesty a počty bez N+1.

Metaúdaje komentárov

Ku každému komentáru uložte vlastné metaúdaje, čítajte ich podľa cesty v bodkovej notácii a filtrujte podľa nich — rovnako na SQLite, PostgreSQL aj MySQL.

Moderovanie

Stavy pending, approved a hidden, voliteľná fronta na schválenie, moderovacie scopy a hromadné schválenie, skrytie či zmazanie.

Filter spamu a blocklist

Odmietnite, podržte na kontrolu alebo skryte komentáre so zakázanými slovami či regulárnymi výrazmi, alebo telo skontrolujte sami — bez externej služby.

@zmienky

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í.

Zamykanie vlákien

Zamknite celú diskusiu subjektu alebo celé vlákno pod jedným komentárom, aby neprijímali nové ani upravené komentáre.

Presun komentárov

Pri zlúčení duplicitných záznamov presuňte celú diskusiu z jedného na druhý — vrátane odpovedí, zadržaných a zmazaných komentárov, páčikov aj príloh.

Páčiky a poradie

Páčiky, upvoty a reakcie na komentáre cez Likes for Laravel — a vlákna zoradené podľa obľúbenosti či trendu v jednom dotaze.

Nahlasovanie a automatické moderovanie

Umožnite používateľom aj hosťom nahlasovať komentáre cez Reports for Laravel, zostavte moderovaciu frontu a skrývajte ich automaticky.

Prílohy a vložené médiá

Pripájajte súbory do vlastnej skupiny komentára cez Media Library for Laravel a vkladajte ich do textu tokenmi [media:UUID].

Autorizácia

Voliteľne kontrolujte každú zmenu — zápis, úpravu, mazanie, obnovenie, moderovanie, zámky aj presuny — cez policy pre Comment s pribalenou ako základom.

API resources

Vracajte komentáre ako JSON cez CommentResource — vnorené odpovede, autor a stav, po načítaní aj páčiky a prílohy.

Udalosti

Deväť udalostí — vytvorenie, úprava, zmazanie, schválenie, skrytie, zamknutie a odomknutie vlákna, zmienka a presun — pre notifikácie a audit.

Výnimky a hlášky

Každá chyba je typovaná CommentsException s preložiteľnou hláškou — zachyťte základnú triedu alebo každý prípad zvlášť.

Testovanie

Comments::fake() zaznamená každú zmenu a pritom ju vykoná, s aserciou pre každé sloveso — plus factory bez nastavovania a AssertsComments.

Požiadavky

PHP 8.4+, Laravel 12 alebo 13 a sesterské balíky Roundly, ktoré Composer nainštaluje automaticky.

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

Odoslaním daru súhlasíte s našimi podmienkami prijímania darov.

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.