PHP OOP에서 메소드 체이닝
메소드를 연속적으로 호출하는 체인을 만들 수 있습니다.
이를 위해 각 해당 메소드는 $this를 반환해야 합니다.
시도해 봅시다. 우리 클래스의 세터(setter)에 해당 코드를 추가하겠습니다:
<?php
class User {
private $name;
private $surn;
public function setName($name) {
$this->name = $name;
return $this;
}
public function setSurn($surn) {
$this->surn = $surn;
return $this;
}
public function getName() {
return $this->name;
}
public function getSurn() {
return $this->surn;
}
}
?>
이제 우리의 세터(setter)들을 연속적으로, 체인처럼 호출할 수 있습니다. 확인해 보겠습니다. 우리 클래스의 객체를 생성하겠습니다:
<?php
$user = new User();
?>
세터(setter)들을 체인으로 호출해 보겠습니다:
<?php
$user->setName('john')->setSurn('smit');
?>
속성 값들이 변경되었는지 확인해 보겠습니다:
<?php
echo $user->getName();
echo $user->getSurn();
?>
Employee 클래스의 세터(setter)들이
체인으로 호출될 수 있도록 만드세요.