johdantoTähän mennessä olen tehnyt kaksi tai kolme projektia, mukaan lukien koulutus, foorumit ja CMS, ja jokainen projekti käyttää kommenttitoimintoa, joten haluan poistaa kommenttiosion erikseen ja tehdä siitä komponenttimoduulin. Se ei ainoastaan säästä kehitystyötä, vaan antaa myös paremman ymmärryksen tämän moduulin toiminnoista. Koska kehitän tällä hetkellä pääasiassa TP-kehyksen parissa, seuraavat esimerkit esitetään TP-kehyksen syntaksissa. Mutta itse asiassa koen, että ydinmenetelmä on riittämätön, enkä ole hyödyntänyt assosiaatiomallin toimintoa. Tämän aion toteuttaa seuraavassa päivityksessä. Pääosassa kerron pääasiassa useista kommentointijärjestelmien muodoista, joihin olen tähän mennessä ollut tekemisissä, analysoin niiden etuja ja haittoja sekä annan käsityksen datataulukon suunnittelusta ja tiedon poiminnasta, toivoen voivani olla sinulle hyödyksi. Jos on jotain sopimatonta, kaikki voivat myös korjata sen.
Kommentointijärjestelmä
Yleisiä kommentointijärjestelmiä on kolme päätyyppiä: rakennuksen sisällä rakentaminen, suoratoistotila ja viittaustila (joille olen antanut omat nimeni), ja seuraava keskittyy näiden kolmen etuihin ja haittoihin sekä niiden toteuttamiseen.
1. Rakennus rakennuksessa -tila Niin sanottu rakennus rakennusmallin sisällä tarkoittaa, että jokainen kommentti sijaitsee ensimmäisessä kerroksessa, ja kaikki kommentin vastaukset näytetään rakennuksessa, kuten Baidu Tieban ja Jianshun kommentointijärjestelmä.
Etu:Vastaa kommentteihin keskittyneellä tavalla, joka helpottaa keskustelun ymmärtämistä.
Haitat:Kun sisältöä on liikaa, tarvitaan sivutus, mikä on monimutkaisempaa.
Tietolehtien suunnittelu:
- id (itse lisätty pääavain)
- target_id (Kommentin aiheen tunniste, joka voidaan tarvittaessa vaihtaa muotoon article_id, course_id jne.)
- parent_id (pääkommenttitunnus)
- reply_uid (Tallenna kommentoijan käyttäjätunnus, 0 pääkommenttiin vastatessasi)
- UID (Käyttäjätunnus, joka jätti kommentin)
- sisältö (Kommenttisisältö)
- Muut alat... (Aika, tila jne.)
Back-end-liiketoimintalogiikka:
2. Virtaustila
Virtaustila, kuten nimikin kertoo, on samankaltainen kuin tiedonkulku, olipa kyseessä kommentti tai vastaus, jokainen viesti sijoittuu kerrokseen, kuten laravel-China-yhteisön kommenttijärjestelmä.
Etu:Logiikka on yksinkertainen ja helppo toteuttaa
Haitat:Dialogin sisältöä ei voi esittää keskitetysti, eikä dialogin sisällön ymmärtäminen ole helppoa.
Tietolehtien suunnittelu:
- id (itse lisätty pääavain)
- target_id (Kommentin aiheen tunniste, joka voidaan tarvittaessa vaihtaa muotoon article_id, course_id jne.)
- reply_uid (Tallenna kommentoijan käyttäjätunnus, 0 pääkommenttiin vastatessasi)
- UID (Käyttäjätunnus, joka jätti kommentin)
- sisältö (Kommenttisisältö)
- Muut alat... (Aika, tila jne.)
Back-end-liiketoimintalogiikka
3. Viittaustila
Viittaustila muistuttaa suoratoistotilaa, paitsi että vastauksen sisältö julkaistaan lainatulla sisällöllä.
Etu:Sen ymmärtäminen, mihin kommenttiin vastaus on suunnattu, voi auttaa sinua ymmärtämään, mistä keskustelussa on kyse. Sen toteuttaminen on suhteellisen helppoa.
Haitat:Samoin kuin Stream Mode, se ei edusta koko keskustelua kokonaisuudessaan. Analysoimalla etuja ja haittoja voidaan havaita, että viitekuvio on kompromissi rakennuksen sisäisen rakennuksen ja virtaustilan välillä.
Tietolehtien suunnittelu:
- id (itse lisätty pääavain)
- target_id (Kommentin aiheen tunniste, joka voidaan tarvittaessa vaihtaa muotoon article_id, course_id jne.)
- reply_id (kommentoidun kommenttitunnus, pääkommentti 0)
- UID (Käyttäjätunnus, joka jätti kommentin)
- sisältö (Kommenttisisältö)
- Muut alat... (Aika, tila jne.)
Back-end-liiketoimintalogiikka:
Arvostelulistan saamiseksi voit yhdistää kommenttitaulukon saadaksesi käyttäjätiedot ja kommentit, jotka lainaavat kommentteja. Sitten tee yksinkertainen sivutusprosessi.
Yllä oleva on alustava yhteenveto kolmesta kommenttitilasta, tyyliosaa ei ole vielä selvitetty, ja blogiprojektin valmistuttua mukaan lisätään myös front-end-tyyliosa. Yllä mainitun sisällön osalta, jos siinä on puutteita, toivon, että annat neuvoja.
|