Ben başlık, kenar çubuğu ve altbilgi içeren bir görüntü nesnesi oluşturduk:
class Display {
protected $framework;
public $mysql;
public function __construct() {
$this->mysql = new MySQL();
$this->framework .= $this->header();
$this->framework .= $this->body();
$this->framework .= $this->sidebar();
$this->framework .= $this->footer();
}
private function header (){ /* blah */ }
private function body (){ }
private function sidebar (){ /* blah */ }
private function footer (){ /* blah */ }
public function displayPage(){
print $this->framework;
}
}
Her sayfada ben vücut için kodu ile, görüntüleme nesnesini genişleten bir nesne yarattık:
class IndexPHP extends Display {
public function body(){
$this->user = new User();
return '<div class="body">Hello ' . $this->user->getName() . '</div>';
}
}
$page = new IndexPHP();
$page->displayPage();
Ben çok fazla nesneleri iç içe bir sorun yarattı mı? Örneğin, kullanıcı nesne, nasıl ben zaten başlatılmış MySQL nesneye erişmek mi?
class User {
protected $name;
public function __construct() {
$this->id = /* MySQL object query here */
}
}