Define class as constructor parameter
|
<?php class PersonWriter {
function writeName( Person $p ) { print $p->getName()."n"; }
function writeAge( Person $p ) { print $p->getAge()."n"; } }
class Person { private $writer;
function __construct( PersonWriter $writer ) { $this->writer = $writer; }
function __call( $method, $args ) { if ( method_exists( $this->writer, $method ) ) { return $this->writer->$method( $this ); } }
function getName() { return "Joe"; } function getAge() { return 44; } }
$person= new Person( new PersonWriter() ); $person->writeName(); $person->writeAge(); ?>
|
|
|
|
|
HTML code for linking to this page:
Related in same category :
-
-
-
|