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 O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.