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...

Minimum and maximum number with - and + 500 in Mysql and Sql query and Find out table scheema of our database in Mysql and sql query and Find out all table name of our database in Mysql and sql query and Find out current date and time in mysql and sql help of sql query

Minimum and maximum number with - and + 500 in Mysql and Sql query:- syntax:-  SELECT MIN(Used)-500 , max(Used)+500 FROM audit Find out current date and time in mysql and sql help of sql query:- syntax:- SELECT now() Find out database name in Mysql and sql query:- syntax:-  SELECT DATABASE(); Find out all table name of our database in Mysql and sql query:- syntax:- SHOW TABLES; Find out   table scheema   of our database in Mysql and sql query:- syntax:- DESCRIBE <table name>;