การเชื่อมต่อเมธอดใน OOP ใน PHP

สามารถทำได้เพื่อให้สามารถเรียกเมธอดต่อกันเป็นโซ่ได้ สำหรับการนี้แต่ละเมธอดดังกล่าวจะต้องคืนค่า $this ลองมาทดสอบกัน เพิ่มโค้ดที่เกี่ยวข้องในเซตเตอร์ของคลาสของเรา:

php<?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;
    }
  }
?>

ตอนนี้เซตเตอร์ของเราสามารถเรียกต่อกันเป็นโซ่ได้ ลองมาทดสอบกัน สร้างออบเจ็กต์ของคลาสของเรา:

php<?php
  $user = new User();
?>

เรียกเซตเตอร์ของเราเป็นโซ่:

php<?php
  $user->setName('john')->setSurn('smit');
?>

ตรวจสอบว่าคุณสมบัติได้เปลี่ยนค่าแล้ว:

php<?php
  echo $user->getName();
  echo $user->getSurn();
?>
Задание 1

ทำให้เซตเตอร์ของคลาส Employee สามารถเรียกเป็นโซ่ได้