Source Code : Define class as constructor parameter

PHP Is Open Source Programming Language You Can Download and use It, You required xampp server and wamp server . You download From xampp server from https://www.apachefriends.org/download.html. Click Here to download
We provide this code related to title for you to solve your developing problem easily. Libraries which is import in this program you can download from http://php.net/. Click Here or search from google with Libraries Name you get jar file related it and also http://php.net/ is a official site

Define class as constructor parameter

<?php
class PersonWriter {

    function writeName( Person $p ) {
        print $p->getName()."
";
    }

    function writeAge( Person $p ) {
        print $p->getAge()."
";
    }
}

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();
?>


           
       

Thank with us