Cytat(nospor @ 19.09.2011, 12:15:47 )

1) Może by tak po kolei? Zanim zabierzesz się za obiekt, stwórz strukture bazy
Osobiście nie zgadzam się z tym stwierdzeniem. Jeżeli chodzi o projektowanie, to właśnie najpierw tworzy się model obiektów, a dopiero później, gdy już mamy wszystkie zależności, możemy sobie z łatwością stworzyć diagram ERD i na jego podstawie wygenerować strukturę bazy.
A sama klasa? Moim zdaniem coś takiego:
class Comment{
private $_content;
private $_target;
public function __construct($target) {}
public function setContent($content) {}
public function getContent() {}
}
Target powinien być ustawiany w konstruktorze, bo już w momencie tworzenia wiesz do czego jest dany komentarz. Oczywiście musisz jeszcze zwalidować, czy $target (jakiś obiekt) może rzeczywiście posiadać komentarz. Doradzałbym jakiś wspólny interfejs do wszystkich encji, które mogą mieć komentarz np. Commentable, które będą realizowały. Oszczędzi ci to walidacji, bo wtedy możesz zastosować twarde typowanie.
Oczywiście czym innym jest realizacja tego w kodzie, bo do tego rzeczywiście już potrzeba bazy i odpowiednich tabel, ale jeżeli chodzi o sam projekt, to mniej więcej tak.