predgovorDo zdaj sem opravil dva ali tri projekte, vključno z izobraževanjem, forumi in CMS, pri čemer vsak projekt uporablja funkcijo komentarjev, zato želim sekcijo komentarjev izločiti ločeno in jo spremeniti v komponentni modul. To ne le prihrani razvojno delo, ampak vam tudi omogoča boljše razumevanje funkcij tega modula. Ker trenutno večinoma razvijam v okviru TP, bodo naslednji primeri predstavljeni v sintaksi okvira TP. A v resnici osebno menim, da je del osnovne metode nezadosten in nisem izkoristil funkcije modela asociacije. To bom implementiral v naslednji posodobitvi. V glavnem delu vam bom predvsem predstavil različne načine komentatorskih sistemov, s katerimi sem se do zdaj srečal, analiziral njihove prednosti in slabosti ter podal predstavo o oblikovanju podatkovnih tabel in pridobivanju podatkov, v upanju, da vam bom v pomoč. Če je kaj neprimernega, je vsakdo vabljen, da to popravi.
Sistem komentarjev
Obstajajo trije glavni tipi sistemov skupnih komentarjev: gradnja znotraj stavbe, način pretakanja in način citiranja (vse sem sam poimenoval), naslednje pa se osredotoča na prednosti in slabosti teh treh ter kako jih implementirati.
1. Način gradnje v stavbi Tako imenovana stavba znotraj modela stavbe pomeni, da vsak komentar zaseda prvo nadstropje, vsi odgovori na komentar pa so prikazani v stavbi, kot je sistem komentarjev Baidu Tiebe in Jianshuja.
Prednost:Odgovarjajte na komentarje z osredotočenim pogledom, ki olajša razumevanje pogovora, ki ga sprožijo.
Slabosti:Ko je vsebine preveč, je potrebna paginacija, kar je bolj zapleteno.
Oblikovanje podatkovnega lista:
- id (samododani primarni ključ)
- target_id (ID teme komentarja, ki jo je mogoče po potrebi spremeniti v article_id, course_id itd.)
- parent_id (glavni komentar id)
- reply_uid (Zabeležite uporabniški ID komentiranega, 0, ko odgovarjate na glavni komentar)
- UID (uporabniški ID, ki je pustil komentar)
- vsebina (Vsebina komentarjev)
- Druga področja... (Čas, status itd.)
Poslovna logika v ozadju:
2. Način pretoka
Način toka, kot že ime pove, je podoben toku informacij; ne glede na to, ali gre za komentar ali odgovor, vsako sporočilo zavzema plast, kot je sistem komentarjev skupnosti laravel-kitajska.
Prednost:Logika je preprosta in enostavna za izvedbo
Slabosti:Vsebine dialoga ni mogoče predstaviti centralno, prav tako ni lahko razumeti vsebine dialoga.
Oblikovanje podatkovnega lista:
- id (samododani primarni ključ)
- target_id (ID teme komentarja, ki jo je mogoče po potrebi spremeniti v article_id, course_id itd.)
- reply_uid (Zabeležite uporabniški ID komentiranega, 0, ko odgovarjate na glavni komentar)
- UID (uporabniški ID, ki je pustil komentar)
- vsebina (Vsebina komentarjev)
- Druga področja... (Čas, status itd.)
Poslovna logika v ozadju
3. Način citiranja
Način citiranja je podoben načinu pretakanja, le da je vsebina odgovora objavljena skupaj s citirano vsebino.
Prednost:Razumevanje, na kateri komentar je odgovor, vam lahko pomaga razumeti, o čem je pogovor. Implementacija je razmeroma enostavna.
Slabosti:Podobno kot način pretakanja ne predstavlja celotnega pogovora v celoti. Z analizo prednosti in slabosti lahko ugotovimo, da je referenčni vzorec kompromis med stavbo znotraj stavbe in načinom toka.
Oblikovanje podatkovnega lista:
- id (samododani primarni ključ)
- target_id (ID teme komentarja, ki jo je mogoče po potrebi spremeniti v article_id, course_id itd.)
- reply_id (ID komentarja komentiranega, glavni komentar je 0)
- UID (uporabniški ID, ki je pustil komentar)
- vsebina (Vsebina komentarjev)
- Druga področja... (Čas, status itd.)
Poslovna logika v ozadju:
Za pridobitev seznama ocen lahko povežete tabelo s komentarji, da dobite uporabniške informacije in komentarje, ki citirajo te komentarje. Nato naredite preprost postopek paginacije.
Zgoraj je preliminarni povzetek treh načinov komentarja, slog še ni urejen, po zaključku blog projekta pa bo dodan tudi del sloga na sprednji strani. Za zgornjo vsebino, če obstajajo kakšne pomanjkljivosti, upam, da boste podali usmeritev.
|