Skip to main content

__call magig method with multiple classes

<?php

 /**
 *
 */
 class address
 {
  public $address=" ramnager";
  function getAddress( )
  {
  return $this->address;
  }
 }
 /**
 *
 */
 class name extends address
 {
  private $firstName="Saddam";
  private $lastName="Hussain";
  public function getfisrtName()
  {
  return $this->firstName;
  }
  public function lastName($value='')
  {
  return $this->lastName;
  }
  public function fullName($value='')
  {
  return " ".$this->firstName." ".$this->lastName;
  }
 }
 /**
 *
 */
 class role
 {
  private $role =" admin";

  public function getRole()
  {
  return $this->role;
  }
 }

 /**
 *
 */
 class user
 {
  protected $newClass;
  protected $newClass1;
  function __construct($newClass,$newClass1)
  {
  $this->newClass =$newClass;
  $this->newClass1 =$newClass1;
  }
  public function __call($method,$parameter)
  {
  if(method_exists($this->newClass, $method)){
  return call_user_func_array(array($this->newClass,$method),$parameter);
  }elseif(method_exists($this->newClass1, $method)){
  return call_user_func_array(array($this->newClass1,$method),$parameter);
  }else {
  echo "this method dose not exists.";
  }
  }
 }

 $newUser= new user(new name,new role);
 echo $newUser->fullName();
 echo $newUser->getRole();
 echo $newUser->getAddress();

Comments

Popular posts from this blog

how send mail using Swift mailer | switmailer send mail tutorial

how send mail using Swift mailer | switmailer send mail tutorial  <?php /* step 1 include Swift mailer file ;  */ include("vendor/swiftmailer/swiftmailer/lib/swift_required.php"); /* step 2 create your user details */ $senderEmail="saddam1234321@gmail.com"; $senderPassword="****Your password****"; $senderName="Saddam huassin"; /* step 3 set SMTP host  for sending mail  */ $user = Swift_SmtpTransport::newInstance('smtp.gmail.com','587','tls'); /* step 4 set your user details  */ $user->setUsername($senderEmail); $user->setPassword($senderPassword); /* step 5 create swift  mailer instance with a variable */ $mailer = Swift_Mailer::newInstance($user); /* step 6 Create a message */ $message = Swift_Message::newInstance('Wonderful Subject')   ->setFrom(array($senderEmail => $senderName))   ->setTo(array($senderEmail))   ->setBody('Here is the message itsel...

how install Swift mailer in localhost | swift mailer installation | composer install swift mailer

how install Swift mailer in localhost | swift mailer installation | composer install swift mailer Step 1:- open cmd  Step 2;- copy this command " composer required swiftmailer/swiftmailer @stable " . Step 3;- paste in cmd and press enter. Step 4;- after few second swift mailer ready to use .................................