1. ogolnie wywalil bym funkcje save() i delete(), zgodnie ze sztuka klasa powinna miec jedna odpowiedzialnosc czyli przechowywanie informacji o poscie
2. wydzielil bym kod walidujacy do osobnej metody prywatnej
<?php
class BlogPost {
public setAttribute($v) {
if ($this->isValid($v)) {
$this->v = $v;
}
}
private function isValid($v) {
return !empty($v);
}
}
@OFFTOP
do wypisywania powinna byc oddzielna kasa np.
<?php
$bp = new BlogPost(args ...);
BlogPostPrinter::toHtml($bp);
BlogPostPrinter::toXml($bp);
BlogPostPrinter::toPlainText($bp);
?>
unikasz dzieki temu rozrostu klasy o kod ktory do niej nie powinien nalezec