önsözŞimdiye kadar eğitim, forumlar ve CMS dahil olmak üzere iki ya da üç proje yaptım ve her proje yorum fonksiyonunu kullanıyor, bu yüzden yorum bölümünü ayrı ayrı çıkarıp bileşenli bir modüle dönüştürmek istiyorum. Sadece geliştirme işini tasarruf etmekle kalmaz, aynı zamanda bu modülün işlevlerini daha iyi anlamanızı sağlar. Şu anda ağırlıklı olarak TP çerçevesi ile geliştirdiğim için, aşağıdaki örnekler TP çerçevesinin sözdiziminde sunulacaktır. Ama aslında, kişisel olarak temel yöntem kısmının yetersiz olduğunu düşünüyorum ve ilişkilendirme modelinin işlevini kullanmadım. Bir sonraki güncellemede uygulayacağım şey bu. Ana bölümde, şimdiye kadar maruz kaldığım çeşitli yorum sistemleri modlarından bahsedeceğim, avantajlarını ve dezavantajlarını analiz edeceğim ve size yardımcı olmayı umarak veri tablosu tasarımı ve veri çıkarımı hakkında bir fikir sunacağım. Uygunsuz bir şey olursa, herkes düzeltmeye de açığvericidir.
Yorum sistemi
Üç ana yaygın yorum sistemi türü vardır: bina içinde inşa etme, yayın modu ve atıf modu (hepsine kendi adımları verdim) ve aşağıda bu üçünün avantaj ve dezavantajları ile nasıl uygulanacağı vurgulanmaktadır.
1. Binada bina modu Bir bina modeli içinde bina olarak adlandırılan bu demek, her yorumun birinci katta yer aldığı ve yoruma verilen tüm yanıtların binada gösterildiği anlamına gelir; örneğin Baidu Tieba ve Jianshu'nun yorum sistemi.
Avantaj:Yorumlara, başlattıkları sohbeti anlamayı kolaylaştıracak odaklanmış bir bakış açısıyla yanıt verin.
Dezavantajlar:Çok fazla içerik olduğunda, sayfa şeklinde olması gerekir, ki bu daha karmaşıktır.
Veri sayfası tasarımı:
- id (kendi kendine eklenen birincil anahtar)
- target_id (Yorum konusu ID, gerektiğinde article_id, course_id vb. olarak değiştirilebilir)
- parent_id (ana yorum kimliği)
- reply_uid (Yorum yapanın kullanıcı kimliğini kaydet, ana yoruma yanıt verirken 0)
- UID (Yorumu bırakan kullanıcı kimliği)
- içerik (Yorum içeriği)
- Diğer alanlar... (Zaman, statü vb.)
Arka uç iş mantığı:
2. Akış modu
Adından da anlaşılacağı gibi, akış modu bilgi akışına benzer; ister yorum ister cevap olsun, her mesaj bir katmanı kaplar; örneğin laravel-China topluluğunun yorum sistemi.
Avantaj:Mantık basit ve uygulanması kolay
Dezavantajlar:Diyalogun içeriği merkezi olarak sunulamaz ve diyalogun içeriğini anlamak kolay değildir.
Veri sayfası tasarımı:
- id (kendi kendine eklenen birincil anahtar)
- target_id (Yorum konusu ID, gerektiğinde article_id, course_id vb. olarak değiştirilebilir)
- reply_uid (Yorum yapanın kullanıcı kimliğini kaydet, ana yoruma yanıt verirken 0)
- UID (Yorumu bırakan kullanıcı kimliği)
- içerik (Yorum içeriği)
- Diğer alanlar... (Zaman, statü vb.)
Arka uç iş mantığı
3. Atıf modu
Atıf modu, yayın moduna benzer, ancak cevabın içeriği alıntılanan içerikle birlikte yayınlanır.
Avantaj:Yanıtın hangi yoruma yönelikte olduğunu anlamak, konuşmanın ne hakkında olduğunu anlamanıza yardımcı olabilir. Uygulaması nispeten kolaydır.
Dezavantajlar:Stream Modu'na benzer şekilde, tüm konuşmayı tam olarak temsil etmiyor. Avantaj ve dezavantajlar analiz edildiğinde, referans deseninin bina içindeki bina ile akış modu arasında bir uzlaşma olduğu görülebilir.
Veri sayfası tasarımı:
- id (kendi kendine eklenen birincil anahtar)
- target_id (Yorum konusu ID, gerektiğinde article_id, course_id vb. olarak değiştirilebilir)
- reply_id (yorum yapılan kişinin yorum kimliği, ana yorum 0)
- UID (Yorumu bırakan kullanıcı kimliği)
- içerik (Yorum içeriği)
- Diğer alanlar... (Zaman, statü vb.)
Arka uç iş mantığı:
İnceleme listesini almak için, kullanıcı bilgilerini ve yorumları alıntılayan yorumları almak için yorum tablosunu bağlayabilirsiniz. Sonra basit bir sayfa işaretleme işlemi yapın.
Yukarıdaki üç yorum modunun ön özetidir, stil kısmı henüz çözülmemiştir ve blog projesi tamamlandıktan sonra ön uç stil kısmı da eklenecektir. Yukarıdaki içerik için, herhangi bir eksiklik varsa, umarım rehberlik sağlarsınız.
|