Bir geliştirici bakış açısıyla Elgg çerçevesinde fark ElggMetadata ve ElggAnnotation nedir?

4 Cevap php

Ben farkı anlayamıyorum.

4 Cevap

Bir veritabanı açısından bakıldığında, bunlar tam olarak aynıdır. Hepsi aynı alanları (id, user_guid, entity_guid, vb) var, bu yüzden onlar için ne konum hemen belli değil neden mantıklı olur.

Ben bunu bu şekilde düşünmek istiyorum:

  • metadata == nesnel (özellik)
  • açıklamaları == öznel (görüşü)

Meta veri dinamik bir varlık özellikleri eklemek için bir yoldur. Aslında olduğu gibi meta veri varlığı tarif etmelidir - bir arabanın rengi konusunda David'in örnek iyiydi. Diğer örnekler bir kitabın ISBN numarası veya bir olayın yeri vardır.

Çünkü daha sonra varlık eklenen tüm yeni bilgiler muhtemelen bir açıklama olmalıdır. Değerlendirme, vb seviyor neden bu açıklamalar ve meta değildir - bir "rating" varlığın bir özelliği değil, o varlığın kalitesi hakkında sadece birinin görüşü.

API, bu ayrımı ortaya koyuyor. Bu işletmenin özellikleri sanki metadata atanır. örneğin:

$event->location = '';

Açıklamaları için eşdeğer kestirme yoktur.

ElggMetadata bilgi about, gerçek Elgg işletme depolamak için kullanılır. Bir Araç varlık yarattı ve ne renk demek istedim Yani, o ElggMetadata için mükemmel bir kullanım durumda olurdu.

ElggAnnotion bir varlık için ek bilgi (yorum, eleştiri, vb) eklemek için kullanılır. Yani Araç İdarenin yukarıdaki örnekte, kullanıcıların bunu yorum veya yorumlayan izin verebilir. Bu ElggAnnotation için mükemmel bir durumdur.

David'in cevap hakkı üzerinde. Daha fazla derinlik gerekiyorsa bu bağlantıları kontrol edin.

http://docs.elgg.org/wiki/Engine/DataModel/Annotations

http://docs.elgg.org/wiki/Engine/DataModel/Metadata

Anahtar-değer çiftleri arasındaki LINK herhangi bir varlık ile ilişkili, nerede depolandığını ElggMetadata olduğunu. Ama gerçek anahtar ve değerler (EAV modeli aşağıdaki) ElggMetastrings saklanacaktır.

Örneğin:

$user->gender=male; 

Herhangi bir varlığın yorum, derecelendirme gibi özellikleri nispeten ElggAnnotation mağazalar oldukça katı bir dizi