การอ้างอิงถึงเมธอดภายในคลาสใน OOP ใน PHP

เมธอดหนึ่งสามารถถูกเรียกใช้ภายใน อีกเมธอดหนึ่งได้ผ่าน $this มาดู ตัวอย่างกัน สมมติว่าเรามีคลาสผู้ใช้และเมธอด ที่คืนค่าคุณสมบัติ:

php<?php
  class User {
    public $name;
    
    public function show() {
      return $this->name;
    }
  }
?>

สมมติว่าเรามีเมธอด cape ที่แปลงตัวอักษรตัวแรกของสตริง เป็นตัวพิมพ์ใหญ่:

php<?php
  class User {
    public $name;
    
    public function show() {
      return $this->name;
    }
    
    public function cape($str) {
      return mb_strtoupper(mb_substr($str, 0, 1)) . mb_substr($str, 1);
    }
  }
?>

ลองใช้เมธอด cape ภายในเมธอด show:

php<?php
  class User {
    public $name;
    
    public function show() {
      return $this->cape($this->name);
    }
    
    public function cape($str) {
      return mb_strtoupper(mb_substr($str, 0, 1)) . mb_substr($str, 1);
    }
  }
?>
Задание 1

สร้างคลาส Student ที่มีคุณสมบัติ name และ surn

Задание 2

สร้างเมธอดตัวช่วย ที่รับอักขระตัวแรก ของสตริงและทำให้เป็น ตัวพิมพ์ใหญ่

Задание 3

สร้างเมธอดที่จะคืนค่า อักษรย่อของนักเรียน นั่นคือ ตัวอักษรตัวแรกของชื่อและนามสกุลของเขา