Menetelmien kutsuminen luokkien sisällä OOP:ssa PHP:ssä

Yhtä menetelmiä voidaan kutsua toisten sisällä $this:n kautta. Katsotaanpa esimerkkiä. Oletetaan, että meillä on luokka käyttäjällä ja menetelmällä, jossa palautetaan ominaisuus:

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

Oletetaan, että meillä on myös menetelmä cape, joka muuntaa merkkijonon ensimmäisen kirjaimen isoksi:

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

Hyödynnetään menetelmää cape menetelmän show sisällä:

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

Tee luokka Student ominaisuuksilla name ja surn.

Задание 2

Tee apumenetelmä, joka saa merkkijonon ensimmäisen merkin ja tekee siitä ison kirjaimen.

Задание 3

Tee menetelmä, joka palauttaa opiskelijan nimikirjaimet, eli nimen ja sukunimen ensimmäiset kirjaimet.