Open source
Comments for Laravel
composer require roundly-consulting/comments-for-laravelPrehľ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 kryptomienOdoslaní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.