7.17 Zusammengesetzte Klassen verschmelzen

Problem

Sie möchten zwei oder mehr Klassen so zusammensetzen, dass sie sich wie eine einzige Klasse zu verhalten scheinen.

Lösung

Setzen Sie die Objekte zusammen und nutzen Sie die magische Methode __call( ), um Methodenaufrufe abzufangen und entsprechend weiterzuleiten:

class Adresse { protected $stadt; public function setStadt($stadt) { $this->stadt = $stadt; } public function getStadt() { return $this->stadt; } } class Person { protected $name; protected $adresse; public function __construct() { $this->adresse = new Adresse; } public function setName($name) { $this->name = $name; } public function getName() { return $this->name; } public function __call($methode, $argumente) { if (method_exists($this->adresse, ...

Get PHP 5 Kochbuch, Third Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.