Wywoływanie metod wewnątrz klas w OOP w PHP

Jedne metody można wywoływać wewnątrz innych za pomocą $this. Spójrzmy na przykład. Załóżmy, że mamy klasę użytkownika z metodą, która zwraca właściwość:

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

Załóżmy, że mamy również metodę cape, która przekształca pierwszą literę ciągu na wielką:

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

Użyjmy metody cape wewnątrz metody 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

Utwórz klasę Student z właściwościami name i surn.

Задание 2

Utwórz metodę pomocniczą, która będzie pobierać pierwszy znak ciągu i zamieniać go na wielką literę.

Задание 3

Utwórz metodę, która zwróci iniciały studenta, czyli pierwsze litery jego imienia i nazwiska.