Obiektowość, metoda w metodzie

0

Witam,
Nie wiem jak to się nazywa ale często można spotkać takie coś:

$abc = new Samochod();
$abc->addSamochod()->mark('Mazda');
$abc->addSamochod()->model('CX-5');

To jest tylko przykład wywołania. Ale pytanie moje brzmi jaką strukturę ma taka klasa jak stworzyć ją aby można było ją tak wywoływać proszę o pomoc. Jakiś przykład.

0

addSamochod zwraca $this?

Objektowość metoda w metodzie

Bój się Boga

0

Nie wiem jak to się nazywa i wiem że takie coś nie istnieje ale jakoś musiałem nazwać temat.

0

na przykład masz

class TDriver {
  private $name;

  public function GetName(){
    return $this->name;
  } 

  public function SetName($name){
    $this->name=$name;
  }
}


class TWehicle {
  private $driver;
  public $name;

  public function __construct(){
    $this->driver = new TDriver;
  }

  public function GetDriver(){
    return $this->$driver;
  }
}


$abc = new TWehicle;
$abc->GetDriver()->SetName('Mr. Hzmzp');
echo 'Kierowcą tego pojazdu jest '.$abc->GetDriver()->GetName();

chodzi o to że do zmiennej $driver w klasie TWehicle przypisano obiekt TDriver, który ma w sobie 2 funkcje GetName i SetName.
Dla $abc które jest klasą TWehicle chcemy przypisać imię kierowcy $abc->GetDriver()->SetName('Mr. Hzmzp'); funkcja GetDriver() z TWehicle zwraca nam obiekt TDriver, który jest przypisany do $driver, więc mamy dostęp do funkcji SetName (klasy TDriver) przez funkcję GetDriver.
Nie wiem czy ci to jasno opisałem :D coś niewyraźny jestem dziś...

1 użytkowników online, w tym zalogowanych: 0, gości: 1