предговорДосега съм направил два или три проекта, включително образование, форуми и CMS, и всеки проект използва функцията за коментари, затова искам да премахна секцията с коментари отделно и да я превърна в компонентен модул. Това не само спестява разработката, но и ви позволява да разберете по-добре функциите на този модул. Тъй като в момента основно разработвам с TP framework, следните примери ще бъдат представени в синтаксиса на TP framework. Но всъщност лично аз смятам, че основната част за метода е недостатъчна и не съм използвал функцията на асоциационния модел. Това ще включа в следващия ъпдейт. В основната част ще ви разкажа основно за различните видове системи за коментари, с които съм бил изложен досега, ще анализирам техните предимства и недостатъци и ще дам представа за дизайна на таблици с данни и извличането на данни, надявайки се да ви бъда полезен. Ако има нещо неподходящо, всеки е добре дошъл да го поправи.
Система за коментари
Има три основни типа често използвани системи за коментари: building in a building, stream mode и citation mode (всички от които съм дал свои имена), а следващото се фокусира върху предимствата и недостатъците на тези три и как да ги приложите.
1. Режим на строеж в сграда Т.нар. сграда в модел на сграда означава, че всеки коментар заема първия етаж, а всички отговори на коментара се показват в сградата, като например системата за коментари на Baidu Tieba и Jianshu.
Преимущество:Отговаряйте на коментарите с фокусиран поглед, който улеснява разбирането на разговора, който те провокират.
Недостатъци:Когато има твърде много съдържание, трябва да се прави пагинация, което е по-сложно.
Дизайн на технически листове:
- id (самодобавен първичен ключ)
- target_id (ID на темата на коментара, която може да се променя на article_id, course_id и т.н. при нужда)
- parent_id (ID на основния коментар)
- reply_uid (Запишете потребителския ID на коментирания, 0 при отговор на основния коментар)
- UID (User ID, който е оставил коментара)
- Съдържание (Съдържание за коментари)
- Други полета... (Време, статус и др.)
Бекенд бизнес логика:
2. Режим на поток
Режимът на поток, както подсказва името, е подобен на потока от информация, независимо дали е коментар или отговор, всяко съобщение заема слой, подобно на системата за коментари на общността laravel-China.
Преимущество:Логиката е проста и лесна за реализиране
Недостатъци:Съдържанието на диалога не може да бъде представено централно и не е лесно да се разбере съдържанието му.
Дизайн на технически листове:
- id (самодобавен първичен ключ)
- target_id (ID на темата на коментара, която може да се променя на article_id, course_id и т.н. при нужда)
- reply_uid (Запишете потребителския ID на коментирания, 0 при отговор на основния коментар)
- UID (User ID, който е оставил коментара)
- Съдържание (Съдържание за коментари)
- Други полета... (Време, статус и др.)
Бекенд бизнес логика
3. Режим на цитиране
Режимът на цитиране е подобен на стрийминг режима, с изключение на това, че съдържанието на отговора се публикува с цитираното съдържание.
Преимущество:Разбирането към кой коментар е насочен отговорът може да ви помогне да разберете за какво е разговорът. Това е сравнително лесно за реализиране.
Недостатъци:Подобно на Stream Mode, той не представя целия разговор изцяло. Чрез анализ на предимствата и недостатъците може да се установи, че референтният модел е компромис между сградата в сградата и режима на поток.
Дизайн на технически листове:
- id (самодобавен първичен ключ)
- target_id (ID на темата на коментара, която може да се променя на article_id, course_id и т.н. при нужда)
- reply_id (ID на коментара на коментирания, основният коментар е 0)
- UID (User ID, който е оставил коментара)
- Съдържание (Съдържание за коментари)
- Други полета... (Време, статус и др.)
Бекенд бизнес логика:
За да получите списъка с ревюта, можете да свържете таблицата с коментари, за да получите потребителската информация и коментарите, които цитират коментарите. След това направете прост процес на пагинация.
Горното е предварително обобщение на трите режима на коментар, стиловата част все още не е изяснена, а след завършване на блога ще бъде добавена и фронтенд стил частта. Относно горното съдържание, ако има някакви недостатъци, се надявам да дадете насоки.
|