PHP bir grup bir bireyler üzerinde yorum yapmak Küçük sistem yapmak nasıl?

2 Cevap php

Ben bir takım liste uygulaması inşa ediyorum. (Bu benim soru olarak gerçek sınıf ilgilendirmeyen etmez hızlı bir mockup) bir takım sınıf alır

class Team {
    function __construct($teamName, $roster){
      $this->setName($teamName);
      $this->setRoster($roster);
     }

Bu sınıf benim soru için temeldir, çünkü ben set işlevleri içermiyordu. Ben liste her kişi hakkında yorum yapmak bir bölüm eklemek istiyorum. Örnek:

$roster = array('Jim','Bob','Steve','Josh');
$team = new team('My Team', $roster);

Ben takımda her kişi kimse onlara yorum bir bölüm olmasını istiyorum. Örnek:

My Team

  • id: 1 Jim - Yorum eklemek
  • id: 2 Bob - Yorum eklemek
    Bob needs to come to more practices - yorumu silmek
  • id: 3 Steve - Yorum eklemek
  • id: 4 Josh - Yorum eklemek

Benim soru şudur; Ben a comment sınıf oluşturmak ve sonra her bir kişi için yeni bir sınıf oluşturmak mı? Ben eğer onların 100 + kişi bu kötü bir fikir olacağını düşünürdüm. Yoksa yorumlama işlemek için benim takım sınıfta fonksiyonları oluşturabilirim?

2 Cevap

Evet, ben bir "Ekip üyesi" sınıfı ve "Comment" sınıfını yaratacak. neden 100 teamMembers örneğini kötü olurdu? Hiç bir liste ekip üyelerinin adil bir liste daha bulursam ben de bir "Kadrosu" class oluşturabilir ...

Zak çivilenmiş. Insanlar ekip üyeleri yorum yapabilirsiniz, daha sonra en basit çözüm bir TeamMember veya Player sınıfı özelliğine sahip bir isim ve bir yorum özelliği yapmaktır. Böyle bir şey:

class Team {
  function __construct($teamName, $roster){
    $this->setName($teamName);
    $this->setRoster($roster);
  }
}

class Player {
  function __construct($playerName) {
    $this->setName($playerName);
  }

  function addComment($comment) {
    $this->comments[] = $comment;
  }
}

$jim = new Player('Jim');
$bob = new Player('Bob');
// ...

$roster = array($jim, $bob, ...);
$team = new Team('My Team', $roster);

$bob->addComment("Bob needs to come to more practices!");

Zak dediği gibi Ve, sen, Yorum sınıf yapabilir de, örneğin:

class Comment {
  function __construct($commentText, $from, $date = null) {
    $this->setText($commentText);
    $this->setCommenter($from);

    $date = $date ? $date : new DateTime(); // default to now
    $this->setDate($date);
  }
}

// Jim leaves a comment about Bob
$bob->addComment(new Comment("Bob throws like a girl!", $jim));